未在index.PHP上设置PHP-$\u会话[';var1';]

未在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

所以我有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=$_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年的教程中学习了。这可能是给定故障的原因吗?