为了账号安全,请及时绑定邮箱和手机立即绑定

php:如何重定向到同一页面并显示错误消息

php:如何重定向到同一页面并显示错误消息

PHP
开满天机 2023-06-24 15:33:46
当输入电子邮件不包含@符号时,我需要重定向到同一页面。其余的代码可以正常工作,但是每当我发送一封没有@的电子邮件时,它就会将我重定向到一个空白页面。(问题的详细信息如下:登录屏幕需要对其输入数据进行一些错误检查。如果名称或密码字段为空,则应显示以下形式的消息:需要电子邮件和密码请注意,我们使用“电子邮件”而不是“用户名”来登录此作业。如果密码非空且不正确,您应该输入以下形式的消息:密码错误对于此分配,您必须添加一个新的验证以确保登录名包含 at 符号 (@),并在这种情况下发出错误:电子邮件必须带有 at 符号 (@)如果正确散列的传入密码与存储的 Stored_Hash 值匹配,则用户的浏览器将重定向到 autos.php 页面,并将用户名作为 GET 参数,使用:header("位置:autos.php?name=".urlencode($_POST['who']));当用户由于密码错误而登录失败时,您还必须使用 error_log() 函数发出以下消息,显示密码加盐的计算哈希值:error_log("登录失败".$_POST['who']."$check");当登录成功(即哈希匹配)时,发出以下日志消息:error_log("登录成功".$_POST['who']); )<?php if ( isset($_POST['cancel'] ) ) {    header("Location: index.php");    return;}$salt = 'XyZzy12*_';$stored_hash = '1a52e17fa899cf40fb04cfc42e6352f1';  $failure = false;  // Check to see if we have some POST data, if we do process itif ( isset($_POST['email']) && isset($_POST['pass']) ) {    if ( strlen($_POST['email']) < 1 || strlen($_POST['pass']) < 1 ) {        $failure = "Email and password are required";    } else {        if(strpos($_POST['email'], '@') !== false)        {            $check = hash('md5', $salt.$_POST['pass']);            if ( $check == $stored_hash ) {                // Redirect the browser to autos.php                header("Location: autos.php?name=".urlencode($_POST['email']));                error_log("Login success ".$_POST['email']);                return;            } else {                $failure = "Incorrect password";                error_log("Login fail ".$_POST['email']." $check");            }                     }        else        {            $failure = "Email must have an at-sign @";            return;        }    }}
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

return从该行后面的 else 块中删除$failure = "Email must have an at-sign @"

我认为,在不了解如何处理请求的情况下,根据示例,当验证失败时,进程不得返回。它仅在成功时返回,因为在这种情况下,您将有一个新的标题,因此当页面加载时,它会将您带到某个地方,在失败时,您只需要更改变量即可$failure

//img1.sycdn.imooc.com//64969c7e0001035902570202.jpg

查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信