次のチェーンは正しいですか?
最初に、セッションを作成して $_SESSION['name'] = 'random_name' 内に保存し、エンド ユーザー クライアントに挨拶するクライアント home.php を表示します。
<?php
session_start();
$_SESSION['name'] = 'random_name';
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Greeting</h1>
<a id="1" href="index.php">link</a>
</body>
</html>
次に、2 番目のページ index.php に移動するリンクを押します。このページは、ページ内の特定のロジックが次のように実行された後、$_SESSION['name'] 内の値をユーザーに表示する別のページに移動します。以下で説明します:
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<script src="test.js"> </script>
<title></title>
</head>
<body>
<p id="para"></p>
<input type="button" onclick="checkAuth()" value="submit">
</body>
</html>
ボタンを押すと、test.js 内の checkAuth() 関数がアクティブになり、AJAX を使用してサーバー側 (damn.php) から SESSION['name'] 内の値を取得します。
function checkAuth()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var response = xmlhttp.responseText;
document.getElementById("para").innerHTML = response;
}
}
xmlhttp.open("POST","damn.php",true);
xmlhttp.send();
}
今damn.phpはそのようになります:
<?php
session_start();
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}
私の質問は、クライアントに $SESSION 内のアイテムを表示する最も簡単な方法はそのようなものですか?
JavaScript をまったく使用しない簡単な方法はありますか? すべてのページに session_start() を挿入することも正しいですか? または、SESSION['items'] を取得したいページからのみ?