2

次のスクリプトは、ログイン用の ajax でデータを送信します

本質的に、セッション変数 ($ _SESSION) を使用して返されるデータをフォーマットしたい

できます

 $("#login").click(function(){

username=$("#user_name").val();
password=$("#password").val();
 $.ajax({
    type: "POST",
    url: "inc/login.inc.php",
    data: "username="+username+"&password="+password,
    success: function(msg){
      if(msg!='false')
      {
        $("#login_form").fadeOut("normal");
        $("#shadow").fadeOut();
        $("#profile").html("<\?php print(\"$_SESSION['name'].\" <a href='inc\/logout.inc.php' id='logout'>Logout k2<\/a>\");\?>");
        //valori menù
        if(tipo=='1')
        {$("#admin").css('display','none')}

      }
      else
      {
            $("#add_err").html("Username o password errata");
      }
    },
    beforeSend:function()
    {
         $("#add_err").html("<img hspace='84' src='img/loading.gif' alt='Loading...'  width='32' height='32'>" )
    }
});
 return false;

});

特にこれは可能です。この方法では、ログインしたばかりのユーザーの名前が出力されます。そうでなければ、私はどうすればよいかわかりません

$("#profile").html("<\?php print(\"$_SESSION['name'].\" <a href='inc\/logout.inc.php' id='logout'>Logout k2<\/a>\");\?>");
4

5 に答える 5

1

JavaScript はクライアント側であり、php コードを実行することはできません。

ajaxリクエストで使用するphpファイルで何か(ユーザー名など)を返し、それをJSで使用する必要があります。

例については、 jQuery ajax ドキュメントを参照してください。

于 2012-05-11T16:42:51.560 に答える
0

phpスクリプトからjavascriptに情報を送り返す最も簡単な方法は、次のmsg変数を使用することです。

success: function(msg){

1つの文字列を送り返したい場合echoは、phpファイルにその1つの文字列を含めるだけで、その値はになりますmsg。送り返したい変数が複数ある場合は、結果をjsonオブジェクトにパッケージ化できます。

したがって、送り返したいものがすべて、という名前のphp配列に含まれていると仮定すると、phpスクリプトの最後で$outputaを実行して、すべてをで取得します。echo json_encode($output);msg

于 2012-05-11T16:51:30.117 に答える
0

PHP コードは処理されないため、これは機能しません。

このlogin.inc.phpようなものを試してみてください

<?php
if (!loginOK()){
     echo "{login:false}";
} else {
     echo "{login:true, name:'".$_SESSION['name']."'}";

}

そしてクライアント上で

success: function(msg){
    if (msg.login){
       // stuff
    } else {
       $("#profile").html(msg.name + $('<a>').attr('href', 'logout.php').html('logout'));
    }
}
于 2012-05-11T17:44:06.243 に答える
0

php コードを提供する必要があります。

$("#profile").load("inc/login-header.inc.php");

login-header.inc.php

<?php
  print($_SESSION['name'] . " <a href='inc/logout.inc.php' id='logout'>Logout k2</a>");
?>
于 2012-05-11T16:45:54.703 に答える