2012-07-07 53 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">

相关问题