0

シンプルな jquery & php reg/login スクリプトが動作しています。基本的に、ユーザーの名前とパスがDBにある場合、phpはtrueをエコーし​​ 、私のjavascriptでは

ユーザー名を JavaScript に戻して変数に保存したいのですが、どうすればよいですか?

私のphpで次のようなことができると思います:

json_encode(array("boolean" => "true", "username" => '$username'));

しかし、どうすればjQueryでそれを処理できますか?

$('#login').click(function(e){
      $.get("login.php",{username: $("#username").val(), password: $("#password").val()},function(data){
         if(data == "true"){

            alert("Logged in");
            $('#logindiv').slideUp();
            $('#gamediv').show(); 
            $('#registerdiv').hide();
            $('#gameheader').html(userloggedin);
         }else{
            alert("Not Logged in");
         }
      });
});

編集: login.php

if (isset($_GET['username'])&& isset($_GET['password'])) {
$username = $_GET['username'];
    $password = $_GET['password'];

$sql = mysql_query("SELECT * FROM members WHERE username='$username' AND password='$password'") or die(mysql_error()); 

       // Get member ID into a session variable
        $id = $row["id"];   
        session_register('id'); 
        $_SESSION['id'] = $id;
        // Get member username into a session variable
        $username = $row["username"];   
        session_register('username'); 
        $_SESSION['username'] = $username;
        $json = array("boolean" => "true", "username" => $username);

        echo(json_encode($json));
        //exit();

} else {
    echo "false";
}

main.html ...

$('#login').click(function(e){
      $.getJSON("login.php",{username: $("#username").val(), password: $("#password").val()},function(data){
         if(data.username!==undefined){
            alert(data.username);
            $('#logindiv').slideUp();
            $('#gamediv').show(); 
            $('#registerdiv').hide();
            $('#gameheader').html(data['username']);
         }else{

         }
      });
});
4

2 に答える 2

2

ユーザー名は、$.get から返されるデータ オブジェクトに含まれます。

 $.get('login.php',params, function(data){
     if(data){
         alert(data.username); // that's the value from php
     }
 }

値に対して多くのチェックを行うことができます。

    ... 
    if(data.username) // username isn't empty string, null, undefined
    if(data.username!==undefined) // if you got it at all 
于 2012-07-09T15:41:56.993 に答える
1

.getJSON() を使用: http://api.jquery.com/jQuery.getJSON/

次に、使用するだけです

data.username
于 2012-07-09T15:42:25.987 に答える