本文实例讲述了php验证session无效的解决方法。分享给大家供大家参考。具体方法如下:
一、问题
今天在配置 apache+php环境时折腾了很久很久,后来成功了但发现验证码图片可以生成,在登录验证时发现session为空,并没有值了。
二、解决方法
环境:apache+php
程序代码如下:
复制代码 代码如下:
<input name="username" type="text" class="input" id="username">
<input name="password" type="password" class="input" id="password">
<input name="ver" type="text" class="input1" id="ver" size="5">
<img src="../inc/ver.php" onclick="this.src='../inc/ver.php';" />
<input name="password" type="password" class="input" id="password">
<input name="ver" type="text" class="input1" id="ver" size="5">
<img src="../inc/ver.php" onclick="this.src='../inc/ver.php';" />
提交之后处理文件这post.php文件
复制代码 代码如下:
if($_SESSION['ssioner']!=$ssever){
echo("<script>alert('验证码必须由4位数字组成!');history.back();</script>");exit;
}
echo("<script>alert('验证码必须由4位数字组成!');history.back();</script>");exit;
}
结果发现一直提示验证码必须由4位数字组成,再打印输出session:
复制代码 代码如下:
echo $_SESSION['ssioner'];
exit;
一直为空了,于时我想到了php环境配置的一个session文件目录,现在我们找到php.ini配置文件找到
upload_tmp_dir
发现这个目录是
upload_tmp_dir="D:\www.zzvips.com\tp"
我检查一下我的D盘发现只有www.zzvips.com文件而没有tp目录了,这样问题就找到了,于时我创建一个tp目录,重启apache发现在tp目录有sess_i40gl0p4hfep5r69j67o1k26d01文件了,这样再重新登录发现成功了。
希望本文所述对大家的PHP程序设计有所帮助。