質問失礼します。
現在タイトルの通り、webサイトにて定期的にサーバーを確認し、データがあれば画面を更新したいです。
【具体的にやりたい事】
ある画面を開きながら定期的にサーバーを確認し、確認結果が確認結果を基に表示画面の一部のHTMLにクラスを設定したいのですが、わからない部分があります。
今試みている方法はJQueryでタイマーをセットし、〇秒に1回ajax通信を行い、ajaxで指定したphpファイルでselect分を実行しています。
実行した結果をSESSIONに格納しています。
1回目はselectした値がSESSIONに格納されるのですが、DBの値を変えてもずっと1回目の値がSESSIONに格納させたままです。
色々調べて以下のソースまで作りましたが一向に解決しないため解決方法をお教えいただけますと幸いです。
現段階では一旦コンソールにSESSIOMの値を表示しています。ここがずっと1回目に格納した値が表示されます。
sample.php
session_set_cookie_params(3600); session_name('test'); session_start(); <html> 中略 var intervalId; setTimer(); function setTimer(){ intervalId = setInterval(teikiCheck, 3000); } function teikiCheck(){ $.ajax({ url : "./teiki.php", type : "POST", data : { }, }).done(function(data){ if(<?=$_SESSION['flug']?> == 18){ console.log('flugは' + <?=$_SESSION['flug']?>); }else{ console.log('false'); } }).fail(function(XMLHttpRequest6, textStatus, errorThrown){ alert("ajax失敗"); }); }
teiki.php
$statement = $dbh->prepare("SELECT flug FROM teiki WHERE id = 1"); $statement -> execute(); $result = $statement -> fetch(PDO::FETCH_ASSOC); $flug = $result['flug']; session_set_cookie_params(1); session_name('sample'); session_start(); unset($_SESSION['flug']); $_SESSION['flug'] = $flug;
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/29 12:52
2021/08/29 13:25
2021/08/29 13:30