按下“输入”按钮时,按钮会执行错误代码

问题描述:

我正在编写用于登录用户的代码。按下“输入”按钮时,按钮会执行错误代码

登录名和搜索,但工作过,自从我两者相结合的登录表单没有实现它自己的代码,而是,它运行的搜索代码

编辑:我发现,之所以出现这种情况,这是因为我一直在按Enter键而不是选择登录。所以现在我想知道,我如何按Enter键并实现登录代码。

下面是一个包含搜索代码

<?php 
//---------------------BEGIN SEARCH FROM THE SEARCH BAR IN PUBLIC HEADER---------------------------------- 


    if(isset($_POST["search_button"])) 
     {     

      //PHP SEARCH CODE 

     } 


//---------------------END SEARCH FROM THE SEARCH BAR IN PUBLIC HEADER---------------------------------- 
?> 

<html> 
    <head> 
     <title>VCR Exchange</title> 
    </head> 

    <body> 
      <nav> 

       <ul> 
        <li><a href="index.php">Home</a></li> 
        <li><a href="about.php">About</a></li> 


<!------------------------------------SEARCH BAR----------------------------------------------> 
        <li>  
        <form role="search" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST"> 
         <div class="form-group"> 
         <input type="search" name="search"> 
         </div> 
         <button type="submit" value = "search" name="search_button">Search</button> 

       </li> 
<!------------------------------------SEARCH BAR----------------------------------------------> 

        <li><a href="register.php">Register</a></li> 
        <li><a href="login.php">Log In</a></li> 
       </ul> 

      </nav> 

的headerPublic.php这是login.php中。

<?php require('connect.php'); ?> 
<?php require('headerPublic.php'); ?> 
<?php require('session.php'); ?> 

     <form class="form" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 

      <label for="inputEmail" >Email address</label> 
      <input type="email" name="email" placeholder="Email address"> 

      <label for="inputPassword" >Password</label> 
      <input type="password" name="password" placeholder="Password"> 

      <button name="login" type="submit">Login</button> 

     </form> 

    </body> 
</html> 


<?php 

    // IF LOGIN BUTTON IS CLICKED: 
    if (isset($_POST['login'])) 
    { 

     //LOG IN CODE 

    } 

?> 
+1

我认为问题是,你永远关闭搜索形式在你的HTML。 – jh1711

+2

您也容易受到SQL注入的攻击,并且会从单引号搜索中获取错误。 – jh1711

+0

刚刚添加了关闭标签,它的工作原理 – patreilly

搜索表单是缺少一个右表单标签

<!------------------------------------SEARCH BAR----------------------------------------------> 
         <li>  
         <form role="search" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST"> 
          <div class="form-group"> 
          <input type="search" name="search"> 
          </div> 
          <button type="submit" value = "search" name="search_button">Search</button> 
         </form> 
        </li> 
    <!------------------------------------SEARCH BAR---------------------------------------------->