好的,所以下面两个脚本的想法非常简单。首先,在login.php
中,我们分配$_SESSION['username']=$username
然后将页面重定向到index.php
脚本检查if $_SESSION['username']
Login.php
如果选中,则会显示编辑配置文件和注销选项,如果未设置,则会显示登录和注册等选项。但即使表单填写正确,它也会显示LogIn和注册选项。它可以启用cookie。但如果它们被禁用则不行。这是代码
session_start();
.
.
.
if(mysqli_num_rows($result)==1){
$row=mysqli_fetch_array($result);
$_SESSION['username']=$username;
$_SESSION['password']=$password;
$location="http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php";
header("Location:".$location."?".htmlspecialchars(SID));
}
Index.php
session_start();
if(isset($_SESSION[SID.'username'])){
echo '❤<a href="viewprofile.php">View Profile</a>'."<br>";
echo '❤<a href="editprofile.php">Edit Profile</a>'."<br>";
echo '❤<a href="logout.php">Logout</a>'."<br>";
}
else{
echo '❤<a href="login.php">Login</a>';
echo '❤<a href="signup.php">Signup</a>';
php.ini
现在,当我的所有use_cookie=0
设置都正确且trans_sid = 1
和login.php
时,如果我向index.php
提供正确的信息,{{1}}会显示其他信息代码块。问题是什么?
答案 0 :(得分:0)
除非您使用的框架尚未提及,否则我说您的参考书有错误的拼写错误。我看不到任何名为trans_sid
的{{3}}。最接近的是session.use_trans_sid:
session.use_trans_sid
boolean
session.use_trans_sid是否启用透明sid支持。默认为0(禁用)
use_cookie
也不存在。