通过PHP验证HTML文本字段

时间:2014-12-16 06:34:23

标签: php

我有html表单,我想验证所有字段,直到用户插入正确的详细信息。我当前的代码没有验证表单。

我的代码:

<html>
<body>

<form method ="POST" >
<label>Company*</label> <br/>
<input type="text" name="company" class="form-control" style="width:40%" required data-parsley-minlength="10">
<label>Address*</label> <br/>
<textarea class="form-control" name="address" rows="3"style="width:40%;resize:none"  required ></textarea>
<label>Website(URL)</label><br/>
<input type="text" name="url" class="form-control" style="width:40%">
<label>Key Contact Person*</label> <br/>
<input type="text" name="contact" class="form-control" style="width:40%" required>
<label>Email</label> <br/>
<input type="text" name="email" class="form-control" style="width:40%"  pattern="^\w+([.-]?\w+)*@\w+([.-]?\w+)*(.\w{2,3})+$">

</form>

</body>
</html>

我只希望通过电子邮件验证使用字符串值,但遗憾的是它不起作用。

php验证

if(isset($_POST['register']))
    {

       if($company == "" && $address =="" && $url =="" && $contact =="" && $email =="" && $requirements=="")
         {

            $alert = '<script> bootbox.alert("Please fill the form Correctly.")</script>';
         }
         else
         {
              if($company !=="" || $address !=="")
              {

                $alert = '<script> bootbox.alert("Please fill the form Correctly.")</script>';


              }


         }

        $company = $_POST['company']."\n";
        $address = $_POST['address']."\n";
        $url     = $_POST['url']."\n";
        $contact = $_POST['contact']."\n";
        $email= $_POST['email']."\n";

        $msg =  'Company Name: '.$company;
        $msg.=  'Address: '.$address;
        $msg.=  'URL: '.$address;
        $msg.=  'Contact: '.$contact;
        $msg.=  'Email: '.$email;

            }
?>

3 个答案:

答案 0 :(得分:1)

首先,您正在尝试验证$ _POST ['register'],这不是HTML代码的一部分。你可能想给你的表单一个名字 。我认为最好先在客户端级别使用Javascript(最好是使用JQuery)验证代码。

检查是否设置了$ _POST ['email']等字段,然后查看内容是否为空。

您必须告诉您的表单将处理表单的脚本。

如果你的php代码在一个单独的文件中,

<form action="my_validator.php" method="post"> 

或者,

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

答案 1 :(得分:0)

从您编写的代码中,我没有看到表单字段&#34;注册&#34;,这意味着验证不起作用。

我不确定寄存器应该做什么,但是

<input type=hidden name=register value=1>

可能需要将其添加到表单

答案 2 :(得分:0)

要检查值是否为字符串,您可以使用php is_string(value)函数返回TRUEFalse

您可以详细了解here 您还可以在此处了解如何使用php验证用户输入: http://www.w3schools.com/php/php_form_validation.asp