2012-07-07 34 views
1

當我使用isset()函數從另一個PHP頁面發佈數據時,它工作正常。 但是,當我在同一頁面使用isset()函數來處理表單時,它不會發布 數據。我看到了url中的數據,但isset()似乎不起作用。表格保持空白,沒有任何反應。isset函數不能在同一頁面上工作

這裏是我目前的工作形式:

<h3>Register</h3> 

<?php 
    if(isset($_POST["register_email"],$_POST["register_name"],$_POST["register_password"]))  
    { 
     $register_email=$_POST['register_email']; 
     $register_name=$_POST['register_name']; 
     $register_password=$_POST['register_password']; 

     $errors=array(); 

     if(empty($register_email) || empty($register_name) || empty($register_password)) 
     { 
      $errors[]='All fields required'; 
     } 

     if(!empty($errors)) 
     { 
      foreach($errors as $error) 
      { 
       echo $error,'<br />'; 
      } 
     } 
     else { 
      echo 'ok'; 
     } 
    } 
?> 

<form action="" method=""> 
    <p>Email: <br /><input type="email" name="register_email" size="35" maxlength="255"></p> 
    <p>Full name: <br /><input type="text" name="register_name" maxlength="35"></p> 
    <p>Password: <br /><input type="password" name="register_password" maxlength="35"></p> 
    <p><input type="submit" value="Register"></p> 
</form> 
+1

您是首先提交表單嗎? – phpmeh 2012-07-07 18:08:44

+0

1.您是否提交表格? 2.您是否嘗試使用URL參數?它需要'$ _GET',而不是'$ _POST' – 2012-07-07 18:10:54

+0

爲了說明Nadav S在說什麼,如果你通過URL傳遞參數,那麼你可以通過$ _GET訪問它們。但是,您仍然可以使用$ _POST,您只需先提交表單即可。 – phpmeh 2012-07-07 18:15:50

回答

7

我想你忘記設置窗體的方法發佈:

<form action="" method="post"> 
+0

yesss!噢!我錯過了該方法的帖子。現在它的工作。非常感謝。 – 2012-07-09 06:25:09

+0

如果它解決了您的問題,請將此answar標記爲已接受 – 2012-07-10 21:26:32

0

在我的情況下,只設置一個只有在這種情況下,要輸入的名稱才能註冊,並設置爲register.isset將參考輸入的名稱

if(isset($_POST["register"])) input type="submit" value="Register" name="register">

相關問題