簡體   English   中英

為什么表單提交按鈕僅在雙擊時起作用?

[英]Why the form submit button is reacting only in double-click?

所以我有一個簡單的登錄頁面,如下所示:

   <fieldset>
    <legend>Verification</legend>
   <form method="post" action="authentication.php">


<?php if($_GET['error']==1){
      echo "<p style=\"float: left; \" class=\"criticMsg\">Username or password are wrong</p>";  
    }
    ?>


 <br /><br /> <br /><br />
 <label style="float: left; margin-top: 15px;" for="username">User</label><input    type="text" name="username"></input><br />
 <label for="password">Password</label><input type="password" name="password"></input>  <br />
  <input type="submit" class="globalBtn" value="Enter"></input>
  </form>

    </fieldset>

然后authenticate.php文件是這樣的:

 include ('functions.php');

if(valid_details($_POST['username'], $_POST['password'])){
header("Location: ../../storage_update.php?message=1");
}else{
header("Location: login.php?error=1");
}

最終,functions.php看起來像這樣

include("../connection.php");


$sql = "SELECT user, pass FROM users";
$back = "There is an error. <a href=\"login.php\">Back</a>";
$result = $conn->query($sql) or die($back);

while($row = $result->fetch_object()){

//validates user input

function valid_details($username, $password){
if(isset($username) && $username == $row->user){
   if(isset($password) && $password == $row->pass){
   return true;}
   }


  };
 }

當我鍵入數據庫中提供的正確的用戶名和密碼時,我在URL中得到error = 1變量,這不是我期望的正確憑據。 但是,如果我快速雙擊“提交”按鈕,它將帶我進入預期的頁面,並在URL中返回message = 1,這意味着函數valid_credentials可以正常工作,但是為什么按鈕會那樣反應? 編輯在頁面storage_update.php(登錄頁面)中,我實現了fancybox jquery插件。

您的代碼結構真的很奇怪,如果我願意的話,無論如何我都會重寫其中的大部分內容。 當前,您在while循環中具有函數,為什么首先循環是奇怪的,您可以直接在數據庫中為要尋找的用戶進行檢查。 見下文。

include("../connection.php");

function valid_details($username, $password){
    $sql = "SELECT user, pass FROM users";
    $sql .= "WHERE user='".$username."' AND pass='".$password."'"; 
    $back = "There is an error. <a href=\"login.php\">Back</a>";
    $result = $conn->query($sql) or die($back);

    return count( $result ) > 0             
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM