mih*_*niq 7 php xampp session windows-xp
我几天前在Windows xp32上创建了我的网站.然后重新安装相同类型的Windows(专业xp 32位).
现在我的网站无法正常运行.$_SESSIONS不发送,我不知道窗户是否与此有关(因为我关闭了一些启动服务msconfig->services).我怀疑的其他事情是XAMPP.在我发现我php.ini在Apache 1000times中编辑的问题后,它没有解决问题.在谷歌,很多人抱怨常见的问题.他们说他们改变了服务器,现在没有发送会话.
我是php的新手,并不知道到底发生了什么.
有人可以帮我提一下这个问题可能出现的地方吗?我也想知道使用会话替代方案是否是一个好习惯,例如,如果用户是logged_in()->send数据mysql-> SET logged_in = 1;,如果是l ogout() -> SET logged_in = 0.或其他任何东西.关于此事的每一个信息都会有所帮助.谢谢!
这里是确切的代码情况:项目链接:http://dox.bg/files/dw?a = e2f056d0f2 我有这个登录表单:
<form action="login.php" method="post">
<ul>
<li>
<input type="text" name="username">
</li>
<li>
<input type="password" name="password">
</li>
<li>
<input type="submit" value="login">
</li>
<li>
<a href="register.php">register</a>
</li>
</ul>
</form>
Run Code Online (Sandbox Code Playgroud)
在login.php我有这个:
...
else
{
$_SESSION['user_id'] = $login;
//... $_SESSION['user_id'] works here and outputs the correct data - user_id
header('Location: index.php');
exit();
...
Run Code Online (Sandbox Code Playgroud)
并在int.php(它是包括index.php)我有这个:
session_start();
print_r(session_get_cookie_params()); echo '<br>'; // outputs: Array ( [lifetime] => 0 [path] => / [domain] => [secure] => [httponly] => )
print_r(session_status()); echo '<br>'; // output: 2
var_dump($_SESSION); // output: array(0) { }
print_r($_SESSION);
print_r($_SESSION['user_id']); // outputs: "Notice: Undefined index: user_id in C:\xampp\htdocs\orderfood\Core\int.php on line 10"
require 'database/connect.php';
require 'functions/general.php';
require 'functions/users.php';
require 'functions/options.php';
if(logged_in() === true)//this is ok.
{
$session_user_id = $_SESSION['user_id']; // <-------- not working...
Run Code Online (Sandbox Code Playgroud)
...脚本继续
固定.我无法解释究竟出了什么问题,但我已经删除session_start()了core/int.php(顺便说一下,路径是在没有'core /'的情况下编写的)而且我session_start()在我index.php和需要登录用户的文件中添加了.
这为我解决了这个问题.实际上,这似乎是一个愚蠢的错误.我在以前的窗口中运行了网站,但我不小心将其删除了,我在墨水中提供的文件来自旧的备份,我相信这已经有效了,但事实并非如此..对不起noob帖子,谢谢你为了你的关注.
您需要将 包含session_start()在所有文件中。此外,不要使用session_close()or session_destroy(),因为它会清除所有会话变量。
当您重定向时就会出现问题。因此,一开始就检查login.php和。index.phpsession_start()
如果您提供 PHP 文件的完整源代码,调试起来会很容易。
您添加了这一行:
include '/core/int.php';
Run Code Online (Sandbox Code Playgroud)
在所有文件中,应将其替换为:
include 'core/int.php';
Run Code Online (Sandbox Code Playgroud)
这是因为,这不是一台 Linux 机器,而且,您在此处给出了相对路径或来自 的绝对路径C:\XAMPP\等。希望这可以解决问题。