main.php:PHPのdivが第一リロード後にPHPのセッション変数を失っ
<?php
session_start();
echo "<div id='buttons'>";
include "buttons.php";
echo "</div>";
はJavaScript:
function refreshButtons(){
$('#buttons').load(document.URL + ' #buttons');
}
buttons.php:
session_start();
$a=checkbuttons($_SESSION['userid']);
if ($a=="false") {
echo "<button type='submit' class='btn btn-danger btn-lg'>Return to Main</button>";
}
else {
echo "<button type='submit' class='btn btn-success btn-lg'>Proceed</button>";
}
10秒ごとに更新されるdivを持つメインページがあります。 buttons.phpをロードし、ユーザーのセッションIDに基づいて、真または偽のMySQLデータベースをチェックします。
ページが最初に正常に読み込まれ、すべての変数が正常です。
私が抱えている問題は、初めてJavaScriptがdivをリフレッシュした後には空です。$_SESSION['userid']
は空です。その後、クエリの結果は常にfalseになります。セッションIDは、私がすでにチェックしたものと同じままです。私はここで何をチェックするのか迷っている。 buttons.phpはロードするたびに独自のセッションを開始しますが、変数は空です。
main.phpに構文エラーがあり、 'checkbuttons()'関数を投稿していません。 – Mike
@に記載されているように、checkbuttons()関数をインクルードする必要があります。 – bos570
私たちが持っている情報ではわかりにくいですが、初めてbutton.phpのコードがmain.phpに直接含まれています(おそらくsession_startが2回呼び出されることになります)。そして、2度目はAjax呼び出しによって呼び出されます。セッションはクッキーに保存されていますか? Ajaxの呼び出しによって正しく維持されていますか?私は、document.URL 'main.php'ではないことを追加することができますか?このJSはどこですか? – Kaddath