我正在关注创建安全用户登录/注册系统的教程,可在此处找到: PHP OOP Login/Registration System
我遇到的问题是表单是在单独的.php文件上处理的,而不是像在视频中那样托管表单的文件。
提交后(form.php):
从book.php:
调用Token类if(Input::exists()) {
if(Token::check(Input::get('token'))) {
//execute code here
}
调用令牌类(Token.php)
class Token {
public static function generate() {
return Session::put(Config::get('session/token_name'), md5(uniqid()));
}
public static function check($token) {
$tokenName = Config::get('session/token_name');
if(Session::exists($tokenName) && $token === Session::get($tokenName)) {
//Session::delete($tokenName);
return true;
}
return false;
}
}
我遇到的问题是,如果我不发表评论
//Session::delete($tokenName);
在后续表单提交时删除了令牌。
帖子是通过form.php中的jquery / ajax完成的,因此当表单重新加载错误消息时,初始标记不会刷新。 在下一次提交时,$ tokenName已经从上一次调用中删除,使条件无效或者至少是我认为正在发生的情况。 因为在任何后续提交中,book.php不再执行此处的代码:
if(Token::check(Input::get('token'))) {
//execute code here
}
我只是评论并忽略
Session::delete($tokenName);
或者我应该采取不同的方式吗?
新手在这里请你放轻松......