窝最近在写一个注册的页面,需要邮箱验证的。窝的思路是这样的:按下发送按钮,就用AJAX(原生的)请求PHP发送验证码。PHP(参数op=send_ve)生成验证码,存到$_SESSION里面,然后把验证码发到用户邮箱。提交表单之后,PHP(同一个文件,参数op=submit)比对验证码字段的内容和$_SESSION里面的,不一样就输出“验证码错误!”窝试了一下然后很尴尬的“验证码错误”了。然后在朋友的建议下试过各种方法:把session_start();放到页面最开始。用了一个固定的键名:"ve"(本来是用邮箱做)测试是不是所有的$_SESSION都不能用:于是我在发送验证码的地方加了一句$_SESSION["OK"]="OK";打印错误信息(“验证码错误”)的地方输出$_SESSION。啥也没输出,就一个空的代码如下:前端HTML,那个链接就是了。后端PHP:Mushouse-SignupSignup注册信息
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
先看一下PHP是不是真的没写Session,直接看php.ini里面的session.save_path(默认/var/lib/php/session)的位置是什么,如果Session目录啥也没有,检查一下文件夹的权限是否正确。如果用的是mem,redis,进去看一下有没有对应的key还有就是另一种可能,后端读取cookies的PHPSESSID读错了,检查一下浏览器的cookies是不是有两个PHPSESSID,把cookies删除了再试试测试Session功能是否正常的时候,新开一个文件,写入Session,然后再读一下
添加回答
举报
0/150
提交
取消