PHP会话在未启用Cookie的情况下无法工作
好的,下面两个脚本的想法非常简单。首先,在PHP会话在未启用Cookie的情况下无法工作,php,session,cookies,Php,Session,Cookies,好的,下面两个脚本的想法非常简单。首先,在login.php中,我们分配$\u SESSION['username']=$username,然后将页面重定向到index.php,脚本检查是否设置了$\u SESSION['username']。如果选中,然后显示编辑配置文件和注销选项,如果未设置,则显示登录和注册等选项。但即使表单填写正确,也会显示登录和注册选项。它在启用cookie的情况下工作。但如果禁用cookie,则不能工作。以下是代码 Login.php session_start()
login.php
中,我们分配$\u SESSION['username']=$username
,然后将页面重定向到index.php
,脚本检查是否设置了$\u SESSION['username']
。如果选中,然后显示编辑配置文件和注销选项,如果未设置,则显示登录和注册等选项。但即使表单填写正确,也会显示登录和注册选项。它在启用cookie的情况下工作。但如果禁用cookie,则不能工作。以下是代码
Login.php
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));
}
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>';
Index.php
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));
}
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>';
session_start();
如果(isset($\会话[SID.'username'])){
回声“❤;”;
回声“❤;”;
回声“❤;”;
}
否则{
回音❤;
回音❤;
现在,当我所有的
php.ini
设置都正确并且使用cookie=0
和trans\u sid=1
时,如果我向login.php
提供正确的信息,index.php
会显示else代码块。有什么问题吗?除非你使用的是你没有提到的框架,否则我会说你的参考书有可怕的类型操作系统。我看不到任何调用的trans\u sid
。存在的最近的是会话。使用trans\u sid:
会话。使用\u trans\u sidboolean
session.use_trans_sid是否启用透明sid支持。默认值为0(已禁用)
use_cookie
也不存在。能否请您发布一个支持您声明的官方PHP文档的链接?我只是为了方便起见才使用它,因为我非常沮丧。但可能PHP不够聪明,无法理解您真正的意思。我建议您一字不差地使用确切的文档名称嗯…顺便说一句,你能帮我找出问题所在吗