当前位置: 首页 > 知识库问答 >
问题:

比较电子邮件和密码是否为真时,在else条件中出现语法错误[重复]

姜玮
2023-03-14
//Help me to solve the error in below code:

/*解析错误:语法错误,C:\xampp\htdocs\myfiles\register.php中第30*/行出现意外的“else”(T_ELSE)

<?php
require('config.php');

if(isset($_POST['submit']))
{       // first curly brace
        $email1=$_POST['email1'];
        $email2=$_POST['email2'];
        $pass1=$_POST['pass1'];
        $pass2=$_POST['pass2'];

        if($email1 == $email2)
        {//second curly brace
            if($pass1 == $pass2)
            {//third curly brace
        //I have to add this function here so i can't take else condition here
            $name = mysql_escape_string($_POST['$name']);
            $lname = mysql_escape_string($_POST['$lname']);
            $uname = mysql_escape_string($_POST['$uname']);
            $email1 = mysql_escape_string($_POST['$email1']);
            $email2 = mysql_escape_string($_POST['$email2']);
            $pass1 = mysql_escape_string($_POST['$pass1']);
            $pass2 = mysql_escape_string($_POST['$pass2']);

            }//third closed
            else
            {//fourth curly brace
                echo "Your passwords do not match<br/>";
                exit();//Working properly upto here
            }//fourth closed
            else //It show me the error in this line
            {   //fifth curly brace
                echo "Your email do not match<br/>";
                exit();
            }//fifth closed
        }//second closed
$form = '       
<form action="register.php" method="POST">

First Name:<input type="text" name="name"/><br/>
Last Name:<input type="text" name="lname"/><br/>
Username:<input type="text" name="uname"/><br/>
Email:<input type="text" name="email1"/><br/>
Confirm Email:<input type="text" name="email2"/><br/>
Password:<input type="password" name"pass1"/><br/>
Confirm Password:<input type="password" name="pass2"/><br/>
<input type="submit" value="Register" name="submit"/><br/>
</form>
';//The problem of EOT is solved    
echo $form;
}//sixth closed
?>

共有1个答案

逑禄
2023-03-14

看起来您添加了一个额外的else语句,但没有关闭第一个else语句。虽然,因为你要退出,你有很多不必要的额外杂乱。这应该与您的代码具有相同的功能。下面是一个更容易处理此表单的方法:

if( isset($_POST['submit']) )
{       
    $email1 = $_POST['email1'];
    $email2 = $_POST['email2'];
    $pass1  = $_POST['pass1'];
    $pass2  = $_POST['pass2'];

    if ( $email1 != $email2 )
    {
        echo "Your email does not match<br/>";
        exit;
    }

    if ( $pass1 != $pass2 )
    {
        echo "Your passwords do not match<br/>";
        exit;
    }
}
else
{
    echo '      
    <form action="register.php" method="POST">

    First Name:<input type="text" name="name"/><br/>
    Last Name:<input type="text" name="lname"/><br/>
    Username:<input type="text" name="uname"/><br/>
    Email:<input type="text" name="email1"/><br/>
    Confirm Email:<input type="text" name="email2"/><br/>
    Password:<input type="password" name"pass1"/><br/>
    Confirm Password:<input type="password" name="pass2"/><br/>
    <input type="submit" value="Register" name="submit"/><br/>
    </form>
    ';
}
?>

从可读性的观点来看,这是更好的遵循,并将使事情更容易理解。

 类似资料:
  • 我看过这篇文章了https://ahrjarrett.com/posts/2019-02-08-resetting-user-passwords-with-node-and-jwt了解如何在express中重置密码。 这给了我一个意外标记{的错误 从".../utils/mailer"导入{transaver, getPasswordResetURL, resetPasswordTemboard}

  • 我正在尝试在Jenkins中配置电子邮件通知。但它显示了以下错误。。。在此处输入图像描述 我用管理员帐号试过了,然后用我自己的gmil帐号试过了 错误:: 发送电子邮件失败 javax.mail.身份验证失败异常: 535-5.7.8用户名和密码不接受。在535 5.7.8了解更多https://support.google.com/mail/?p=BadCredentialsx11sm87366

  • 我正在使用离子3和firebase作为后端。在我的应用程序中,我试图让用户只使用用户名和密码注册。firebase默认情况下不提供该选项。因此,我将用户输入作为用户名(例如:“mike123”),然后添加@myapp。通用域名格式。所以它看起来像一封电子邮件:'mike123@myapp.com'. 这很好,但当用户想要重置密码时,出现了一个问题。是否可以让用户在重置密码时键入任何有效的电子邮件地

  • 如何检查一个谷歌应用程序帐户存在于一个域或不使用谷歌应用程序脚本(与电子邮件id)? 我想重置我域中帐户的密码。在此之前,我需要检查这些帐户是否存在于我的域。因此,与一个给定的电子邮件id,我需要检查id这个特定的电子邮件id是存在于我的域或不,它应该是主要的电子邮件地址。 请让我知道这是否可行。

  • 我们刚刚启动了我们的ASP。NETMVC(使用Identity 2.0)web应用程序6天前已经有超过5000人注册了帐户,太棒了! 问题是3-5%点击确认电子邮件链接的用户(似乎也是重置密码)会出现错误屏幕,大概是因为他们有一个无效的令牌。 我在StackOverflow上读到,您需要对url进行编码,以避免特殊字符将其丢弃,然后在验证之前对其进行解码。不过,我这样做没有效果,一些用户仍然在他们

  • 我正在尝试使用PHP注册用户。不知怎么的,唯一放进去的就是身份证。介意给我点小费吗? 这就是我的insert.php的样子。我一直在努力改变我的体形,但还是没有成功。数据库有一个表:“tbl_nutzerdaten”,其中包含列userid、username、useremail和userpwd。但是我不能添加任何东西,除了ID。 这就是我使用的形式。 每次填写表单时,我在数据库中看到的唯一东西是一