我的以下链条是否正确?
首先,我显示客户端 home.php,它将创建一个会话并将存储在 $_SESSION['name'] = 'random_name' 中,并将问候最终用户客户端:
<?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>
然后我将按下链接,该链接将带我到第二页 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();
}
现在该死的.php 看起来像这样:
<?php
session_start();
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}
我的问题是,为了向客户端显示 $SESSION 中的项目,最简单的方法是这样的吗?
有没有更简单的方法根本不使用 javascript?在每个页面中插入 session_start() 是否也正确?还是只从我想检索 SESSION['items'] 的页面?