document.ready にロードするこのコードがあり、ユーザーがログインしているかどうかを確認します。
//Checking if the user is logged in or not
$(function(){
$.getJSON("inc/API.php", {command : "getUserName"},
function(result){
if(result==null){
$("#divGreeting").html("Hello, guest!");
}
else {
$("#divGreeting").html("Hello, "+result+"!");
$("#divHeader").html("Hello, "+result+"! <a href='javascript:logout()'>Logout</a>");
}
});
});
そうでない場合は、「こんにちは、ゲスト」と表示されます。彼の場合 - 「こんにちは、ユーザー名」と表示されます。ユーザー名はresult
この関数の です。私が必要としているのは、この部分でユーザー名を作成すること$("#divGreeting").html("Hello, "+result+"!");
です。つまり、私が持っていないユーザーIDを持つ別のページにつながるリンクになります。このような:$("#divGreeting").html("Hello, <a href='userpage.html?userid="+HAVE TO GET THE ID HERE+"'>"+result+"</a>!");
私はこの関数を使用しようとしました(それは取得します:
function getUserID(){
$.getJSON("inc/API.php",
{
command : "getUserID"
},
function(result){
return result;
});
}
そしてそれをそのように呼び出すには:$("#divGreeting").html("Hello, <a href='userpage.html?userid="+getUserID()+"'>"+result+"</a>!");
、しかしそれはうまくいきませんでしたundefined
。(非同期AJAXと関係があることを理解しています)を除いて、結果は得られませんでした。
これは API.php の内容です:
case "getUserID":
echo getUserID();
break;
getUserID()
この関数を持つファイル BusinessLogic.php から関数を呼び出します。
function getUserID()
{
$arr = select("SELECT userID FROM users WHERE username='".$_SESSION["username"]."'");
return $arr[0]["userID"];
}
コールバックを使用する必要があると言われましたが、その方法、このコールバックの書き方がわかりません。ここで道に迷った...
助けてください。