2012-05-11 2 views
1

を表示することができ、次のスクリプトは、私がセッション変数($ _SESSION)、本質的には、使用して返されたデータをフォーマットするログインjQueryの - .htmlのは()もPHP

ためにAjaxでデータを送信

私にできること、それ

$("#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; 

});

これは特に可能です。このようにして、ログに記録されたユーザーの名前が表示されます。それ以外の場合は、どうすればよいか分かりません。

答えて

4

スクリプトがすでに処理された後は、PHPコードを挿入できません。

いずれかをajax経由で取り込むか、または実際のPHP出力をjavascriptに含めます。

つまり、JavaScriptはクライアント側で

$("#profile").html(sessionName + " <a href=\"inc/logout.inc.php\" id=\"logout\">Logout k2</a>"); 
1

page.php

<script> 
     var sessionName = '<?php echo $_SESSION['name']; ?>'; 
    </script> 

に、あなたは後でそれを必要とするとき、それは単にあなたのPHPコードを実行することはできません。

ajaxリクエストで使用するPHPファイルで何かを返す必要があります。

例については、jQuery ajax docsを参照してください。

0

あなたはPHPのコードを提供する必要があります:

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

ログイン-header.inc.php

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

JavaScriptにPHPスクリプトから戻って情報を送信する最も簡単な方法、変数msgを使用しています

success: function(msg){ 

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

ですから、msgに全部を取得するには、PHPスクリプトの末尾にecho json_encode($output);を行い、あなたが戻って送信したいすべてが$outputという名前のPHPの配列に含まれていると仮定。

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')); 
    } 
} 
のようなものを試してみてください
関連する問題