2015-11-25 70 views
0

我一直有問題,第二個按鈕不像第一個按鈕運行。這是我的代碼:第二次提交按鈕不工作在PHP

 <p> 
      <form method="POST"> 
       <input placeholder="Username" type="text" name="username"><br /><br /> 
       <input placeholder="password" type="password" name="password"><br /><br /> 
       <input value="Login" type="submit" name="log_In"> 
      </form> 
     </p> 
    </div> 
    <?php 
     if(isset($_POST['log_In'])) { 
      #$f_name = $_POST['fname']; 
      #$s_name = $_POST['sname']; 
      #$stud_Id = $_POST['studId']; 
      #$uname = $_POST['uname']; 
      #$pass = $_POST['pass']; 
      #$rpass = $_POST['rpass']; 
      #$email = $_POST['email']; 
      #$remail = $_POST['remail']; 

      #var_dump($f_name); 

      header("Location:home.php"); 

     } 
    ?> 
</div> 
<div align="right"> 
    <div> 
     <p> 
      <h2>Sign Up</h2> 
     </p> 
     <p> 
      <form> 
       <input placeholder="Forename" type="text" name="fname" id="Forename"><br /><br /> 
       <input placeholder="Surname" type="text" name="sname"><br /><br /> 
       <input placeholder="Student Id" type="text" name="studId"><br /><br /> 
       <input placeholder="Username" type="text" name="uname"><br /><br /> 
       <input placeholder="password" type="password" name="pass" min="6" max="32"><br /><br /> 
       <input placeholder="Re-type password" type="password" name="rpass" min="6" max="32"><br /><br /> 
       <input placeholder="Email" type="" name="email"><br /><br /> 
       <input placeholder="Re-type Email" type="remail" name="remail"><br /><br /> 
       <input value="Sign Up" type="submit" name="sign_Up"> 
      </form> 
     </p> 
    </div> 
    <?php 
     if(isset($_POST['sign_Up'])) { 
      header("Location:home.php"); 
     } 
    ?> 
</div> 

「如果(isset($ _ POST [‘sign_up’])){」是沒有運行,是剛剛刷新頁面,並去除形式的所有項目。

感謝

+1

任何內容已發送到瀏覽器後,您不能使用'header()'。在輸出任何HTML之前,您是否登錄並註冊檢查? – user2959229

+0

將isset ...標題塊移到頁面頂部。正如前面的評論 – Thamilan

+0

所說,這沒有奏效,第一個是...工作正常,但第二個沒有,我知道這可以工作,我已經做到了,這是幾個月後,我已經做了PHP,所以我很生鏽 –

回答

1

默認<form>方法是GET。所以if(isset($_POST['sign_Up']))將無法​​正常工作。將其更改爲if(isset($_GET['sign_Up']))

或者你的第二個表單標籤更改爲:

​​

切記不要使用header函數生成的HTML內容後,將它移動到頂部!

header()函數被髮送的任何實際輸出之前必須調用,或者通過正常的HTML標記,空行的文件,或者從PHP。

因此,這將是更好的,如果是這樣的:

<?php 
     if(isset($_POST['log_In']) || isset($_POST['sign_Up'])) { 
      header("Location:home.php"); 
     } 
?> 
<form method="POST"> 
    <input placeholder="Username" type="text" name="username"> 
    <br /> 
    <br /> 
    <input placeholder="password" type="password" name="password"> 
    <br /> 
    <br /> 
    <input value="Login" type="submit" name="log_In"> 
</form> 

<div align="right"> 
    <div> 
     <p> 
      <h2>Sign Up</h2> 
     </p> 
     <p> 
      <form method="post"> 
       <input placeholder="Forename" type="text" name="fname" id="Forename"> 
       <br /> 
       <br /> 
       <input placeholder="Surname" type="text" name="sname"> 
       <br /> 
       <br /> 
       <input placeholder="Student Id" type="text" name="studId"> 
       <br /> 
       <br /> 
       <input placeholder="Username" type="text" name="uname"> 
       <br /> 
       <br /> 
       <input placeholder="password" type="password" name="pass" min="6" max="32"> 
       <br /> 
       <br /> 
       <input placeholder="Re-type password" type="password" name="rpass" min="6" max="32"> 
       <br /> 
       <br /> 
       <input placeholder="Email" type="" name="email"> 
       <br /> 
       <br /> 
       <input placeholder="Re-type Email" type="remail" name="remail"> 
       <br /> 
       <br /> 
       <input value="Sign Up" type="submit" name="sign_Up"> 
      </form> 
     </p> 
    </div> 
</div> 
+0

感謝兄弟,我在我的第一個評論中說,我是生鏽的,顯然我忘了這個,有趣的想法是我記得做的第一種形式,而不是第二種 –

0

你忘了添加方法,第二種形式=「郵報」

<form method="post"> 
      <input placeholder="Forename" type="text" name="fname" id="Forename"><br /><br /> 
      <input placeholder="Surname" type="text" name="sname"><br /><br /> 
      <input placeholder="Student Id" type="text" name="studId"><br /><br /> 
      <input placeholder="Username" type="text" name="uname"><br /><br /> 
      <input placeholder="password" type="password" name="pass" min="6" max="32"><br /><br /> 
      <input placeholder="Re-type password" type="password" name="rpass" min="6" max="32"><br /><br /> 
      <input placeholder="Email" type="" name="email"><br /><br /> 
      <input placeholder="Re-type Email" type="remail" name="remail"><br /><br /> 
      <input value="Sign Up" type="submit" name="sign_Up"> 
     </form> 
0

你還沒有定義,如果該方法方法未定義它將接受默認的GET方法,因此請將您的第二個表單標記更改爲

<form action="" method="POST"> 
相關問題