为什么php session不是值而是登录页面中的空白

时间:2019-03-05 02:25:58

标签: php session

在我的项目中,我有一个带有验证码的登录页面。

登录页面的某些验证码如下:

<form class="form-login" action="index.php" method="post">
<input type="text" name="code" class="form-control" placeholder="verification code">
<img id="codeImg" src="create_code.php" alt="not clear, another" style="cursor: pointer; vertical-align:middle" onClick="create_code()">
 </form>

在create_code.php中,一些有关创建验证码的代码如下:

session_start();
header("Content-type: image/png");
$str = "1,2,3,4,5,6,7,8,9,a,b,c,d,f,g";
$list = explode(",", $str);
$cmax = count($list) - 1;
$verifyCode = '';
for ( $i=0; $i < 5; $i++ ){
      $randnum = mt_rand(0, $cmax);
      $verifyCode .= $list[$randnum];
}
$_SESSION['code'] = $verifyCode; // stor verifycode in session

在index.php中,我需要检查输入验证码和会话验证码,有些代码如下:

session_start();
if(!isset($_GET['log_out']) && ($_POST['code'] != $_SESSION['code']))
{
    echo "verifycode is wrong!<br />" . "<meta http-equiv='refresh' content='2;url=index.html'>";
    die();
}

但不幸的是,这是失败的。我发现$ _SESSION ['code']中没有任何内容。$ _ SESSION ['code']应为值,但应为空白。

此外,它几天前还可以,但是今天失败了。我没有更改任何代码,似乎没有错,谁可以帮助我?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。我的Linux服务器磁盘空间为100%。当我删除一些文件时,它可以正常工作。是否有一些会话日志文件可以打印提示消息?