$ _post函数似乎不起作用

时间:2016-05-14 16:56:53

标签: php mysql forms post

<?php require 'db_connect.php'; ?>

<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="register.php" >
  Username :
  <input type="text" id="username" class="username" name="username" value="">
  <br>
  Password :
  <input type="password" id="password" class="password" name="password" value="">
  <br>
  Confirm Password :
  <input type="password" id="con_password" class="con_password" name="con_password" value="">
  <br>
  Phone No. :
  <input type="text" id="phoneno" class="phoneno" name="phoneno" value="">
  <br>
  <input type="submit" id="submit" name="submit" class="submit" value="Register">
</form>
<?php
 if(isset($_REQUEST['submit']))
{
$res = "insert into register(username, password, phoneno) value('".$_POST["username"]."','".$_POST["password"]."','".$_POST["phoneno"]."')";
mysqli_query($conn, $res);
if(!empty($_POST)){
echo "Registered!";
}
else {
echo "Try Again!";
}
}
?>

我想检查所有$ _Post字段检查为空,null或0如果未填充表单的值显示错误&#34;再次尝试&#34;并填写显示错误&#34;已注册&#34;?请先告诉我这个功能是否正确。如果不正确,那么正确的功能。

1 个答案:

答案 0 :(得分:1)

如果要通过php验证字段,则必须单独检查每个字段。您可以对数据进行一些检查。

if ($_POST['field'] === null) //I would suggest === because it will return false if $_POST['field'] is 0 or empty string
if (empty($_POST['field'])) //to check empty data 
if (isset($_POST['field'])) //to check if data exists

如果要验证字段是否为字符串?还是数字?还是字母数字?还是全是小写的?还是大写的?某些功能允许您通过调用单个函数来检查字段

请查看此页面:CType Functions

您也可以使用此选项。使所有字段必需要检查null或0,这将确保在提交表单之前必须在字段中包含数据。 尝试更改输入字段:

<input type="text" id="username" class="username" name="username" value="">

为:

<input type="text" id="username" class="username" name="username" value="" required >

另外,Rishi说你也应该编辑查询,将更改为

另外1个提示,你先在数据库中插入数据然后验证数据,据我说这不是好习惯,你应该首先验证数据然后如果一切顺利然后将其插入数据库,否则你将添加不良数据在数据库中也是。

您的最终代码将是:

<?php require 'db_connect.php'; ?>

<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="register.php" >
    Username :
    <input type="text" id="username" class="username" name="username" required >
    <br>
    Password :
    <input type="password" id="password" class="password" name="password" required >
    <br>
    Confirm Password :
    <input type="password" id="con_password" class="con_password" name="con_password" required >
    <br>
    Phone No. :
    <input type="text" id="phoneno" class="phoneno" name="phoneno" required >
    <br>
    <input type="submit" id="submit" name="submit" class="submit" value="Register">
</form>

<?php
    if(isset($_POST['submit']))
    {
        $res = "insert into register(username, password, phoneno) values('".$_POST["username"]."','".$_POST["password"]."','".$_POST["phoneno"]."')";
        mysqli_query($conn, $res);
    }
?>