未在index.PHP上设置PHP-$\u会话[';var1';]
所以我有index.php页面未在index.PHP上设置PHP-$\u会话[';var1';],php,javascript,html,Php,Javascript,Html,所以我有index.php页面 <?php session_start(); if (!isset($_SESSION['var1'])) { echo "session not started..."; die(); } else { echo "session started"; die(); } ?> 它还有一个登录表单,可以生成以下登录脚本: <?php session_start(); include('config.php'); $username=$_PO
<?php
session_start();
if (!isset($_SESSION['var1'])) {
echo "session not started...";
die();
} else {
echo "session started";
die();
}
?>
它还有一个登录表单,可以生成以下登录脚本:
<?php
session_start();
include('config.php');
$username=$_POST['username'];
$password=$_POST['password'];
if($_SERVER['REQUEST_METHOD'] == "POST") {
$result = mysql_query("SELECT ..blahblah");
if(mysql_num_rows($result) > 0) {
$_SESSION['var1'] = 1;
}
}
if(!isset($_SESSION['var1'])) {
echo "wrong login or password";
} else {
header("location:http://mysite.com");
}
?>
问题是,对于其他页面,设置了变量,但对于index.php则没有设置。
我不明白。在任何地方都看不到错误
以下是打印(美元会话)的结果:
在其他页面上:数组([是否已登录]=>1)
在索引页上:Array()未设置哪个变量?我在那页的任何地方都看不到
$\u SESSION['var1']
。会话变量只有在您设置之后才可用,因此您不能期望在访问者登陆的第一页上设置$\u会话['is\u logged\u in']
。可能您从生成会话并重定向到。
在治疗过程中要小心。带有www.和不带www.的网站对于会话是不同的。在index.PHP中,PHP块是第一个吗?如果HTML表单位于该块之前,那么PHP将无法在响应头中发送会话cookie。该
var1
来自何处?code from index.PHP它也在其他页面中?在索引中打印($\u会话)。请检查更新。请停止使用旧的mysql\*()
函数。您已经从10年的教程中学习了。这可能是给定故障的原因吗?