我尝试登录我的网站,但$ _SESSION []变量没有保存数据。直到我第二次尝试才能登录。它只发生在我第一次在任何计算机上登录时。之后当我再次在同一台计算机上登录时,只需要一次尝试。擦除cookie使得必须再次登录两次。 我检查变量是否存在于page.php中,如果不存在,则重定向到index.php
page.php中的代码,用于检查会话登录变量是否为空
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
header('Content-Type: text/html; charset=UTF-8');
session_start();
ob_start();
if(empty($_SESSION['login'])){
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=index.php">';
}
这是我的代码(index.php):
<?php
session_start();
ob_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
include("conec.php");
$message="";
if(isset($_SESSION['login'])) {
//echo '<meta HTTP-EQUIV="REFRESH" content="0; url=page.php">';
}
$message="";
if(isset($_POST['send'])) {
$result = mysql_query("SELECT login FROM user WHERE login='" . $_POST["login"] . "' and password = '". $_POST["password"]."'");
$row = mysql_fetch_array($result);
if(is_array($row)) {
$_SESSION['login'] = $row[login];
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=page.php">';
} else {
$message = "Invalid user or password!";
}
}
<form class="form-horizontal" role="form" name="" method="post">
<div class="form-group">
<label class="control-label col-sm-2" for="login">Login:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="login" name="login">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="pwd">Password:</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="password" name="password">
</div>
</div>
<button type="submit" name="send" id="send" class="btn btn-primary pull-right">Send</button><br />
</form>
我也试过
header("Location: page.php");
header("Location: http://www.page.php");
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.page.php">';
唯一可以将我重定向到其他页面的是我使用
的时候echo '<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.page.php">';
或
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=page.php">';