PHP插入和表单验证问题

时间:2014-05-06 09:24:37

标签: php mysql

我有一个简单的表单,在不同的页面上提交,但它不在这里,继续说你需要输入姓名和电子邮件

我已经回复了名称和电子邮件变量,但仍然是相同的

<?php 
    if (isset($_POST['subs'])) {
        $name=mysql_real_escape_string($_POST['name']); 
        $email=mysql_real_escape_string($_POST['email']);
        if (empty($name) || empty($email)) {
            echo"<div class='alert alert-danger'>Please enter both    name and email address</div>";}
        else {
            if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                echo"<div class='alert alert-danger'>Invalid email address, please enter a correct email address!</div>";
            }
            else {
                $insert=mysql_query("INSERT INTO subs (first_name, email) VALUES ('$name','$email')");
                if ($insert) {
                    echo"<div class='alert alert-success'>Thank you for subscribing wit us</div>";}
                }
            }
        }
?>

<div class="subs-mobile">
<form class="form-inline" role="form" method="post" action="<?php $_PHP_SELF ?>">
    <div class="form-group">
        <input type="text" class="form-control border-radius-zero" id="exampleInputPassword2"    placeholder="First Name" name="name">
    </div>
    <div class="form-group">
        <input type="email" class="form-control  border-radius-zero" id="exampleInputEmail2" placeholder="Email" name="email">
    </div>
    <button type="submit" class="btn btn-primary border-radius-zero" name="subs">Subscribe</button>
</form>

1 个答案:

答案 0 :(得分:0)

首先,您要说的是您的页面在不同的页面提交..但在表单操作操作字段中,您使用$_SERVER['PHP_SELF']表示您提交的数据将在同一页面上发送..您可以将操作字段更改为所需的页面或将脚本从其他文件粘贴到表单所在的脚本中。 第二件事,在isset函数的脚本开头检查是否设置了$_POST['name']$_POST['email'] ..

    <?php
if(isset($_POST['name'], $_POST['email']))
{

$name=mysql_real_escape_string($_POST['name']); 

 $email=mysql_real_escape_string($_POST['email']);

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

echo"<div class='alert alert-danger'>Invalid email address, please enter a correct email address!</div>";

else {

$insert=mysql_query("INSERT INTO subs (first_name, email) VALUES ('$name','$email')");

if ($insert) {echo"<div class='alert alert-success'>Thank you for subscribing wit us</div>";}
}
}

?>

    <body>
    <div class="subs-mobile">
       <form class="form-inline" role="form" method="post" action="<?php $_PHP_SELF ?>">
      <div class="form-group">
    <input type="text" class="form-control border-radius-zero" id="exampleInputPassword2"    placeholder="First Name" name="name">
   </div>
   <div class="form-group">
   <input type="email" class="form-control  border-radius-zero" id="exampleInputEmail2" placeholder="Email" name="email">
   </div>
<button type="submit" class="btn btn-primary border-radius-zero" name="subs">Subscribe</button>
</form>
</body>

我希望现在它会帮助你...更多指南阅读本教程click here