isset函数与表单在同一页面上不起作用

时间:2012-07-07 18:06:17

标签: php forms isset

当我从另一个PHP页面发布数据时使用isset()函数时,它可以正常工作。 但是,当我在同一页面中使用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>

2 个答案:

答案 0 :(得分:7)

我认为您忘记将表单的方法设置为发布:

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

答案 1 :(得分:0)

在我的情况下,只设置为1,在这种情况下,寄存器的输入名称和isset to register.isset将引用输入的名称

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