如何验证PHP中的表单?

时间:2015-03-07 08:02:29

标签: php forms

我知道如何在JavaScript中验证表单,但不能在php中验证。 这是我的代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Cafeteria Ordering System</title>
<style type="text/css">
@import "cafeteriastyle.css";
</style>
</head>

<body>
<?php
if(isset($_POST['btnSubmit']))
{
    //2nd page
}
else
{
?>
<form name="form1" method="post">
<table width="500" border="0" align="center" class="TableBorder">
  <tbody>
    <tr>
      <td colspan="2" align="center" class="TableTitle TableHeadingFill">Cafeteria Ordering System</td>
    </tr>
    <tr>
      <td width="250" align="right"><p>Customer ID</p></td>
      <td><input type="text" name="txtID"></td>
    </tr>
    <tr>
      <td align="right"><p>Num. Of Items Order</p></td>
      <td><input type="text" name="txtItems"></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input type="submit" name="btnSubmit"></td>
    </tr>
  </tbody>
</table>
</form>
<?php
}
?>
</body>
</html>

我有一个表单调用“form1”,在form1中,我有2个textfield。
单击“提交”按钮时,我想执行表单验证检查,以确保填充两个文本字段,然后跳转到第2页。如果textfield为空,则显示警告消息并保持在同一页面上 我知道如何使用JavaScript,例如:

<script language="javascript" type="text/javascript">
    function formValidation()
    {
        if(form1.elements["Name"].value.trim() == "")
        {
            alert("Please enter the name");
            form1.elements["Name"].select();
            return false;
        }
        return true;
    }
</script>

只需将onSubmit="return formValidation"添加到表单标记中,例如:
<form name="form1" method="post" onSubmit="return formValidation()">那么它可能会起作用。但是如何用PHP代替JS?

4 个答案:

答案 0 :(得分:2)

<?php
if(isset($_POST['btnSubmit']))
{
    $txnid=trim($_POST['txtID']);
    $txtItems=trim($_POST['txtItems']);
    if(!empty($txnid) && !empty($txtItems))
    {
       //2nd page
    }
    else
    {
       echo 'Both Fields are Required.';
    }

}
else
{
?>
<form name="form1" method="post">
<table width="500" border="0" align="center" class="TableBorder">
  <tbody>
    <tr>
      <td colspan="2" align="center" class="TableTitle TableHeadingFill">Cafeteria Ordering System</td>
    </tr>
    <tr>
      <td width="250" align="right"><p>Customer ID</p></td>
      <td><input type="text" name="txtID"></td>
    </tr>
    <tr>
      <td align="right"><p>Num. Of Items Order</p></td>
      <td><input type="text" name="txtItems"></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input type="submit" name="btnSubmit"></td>
    </tr>
  </tbody>

答案 1 :(得分:1)

使用斑马形式http://stefangabos.ro/php-libraries/zebra-form/ 这是最好的 将同时进行php和js验证

答案 2 :(得分:1)

将此检查与jquery一起使用可能对您有所帮助

 function formValidation()
    {
        if($("input[name='name']").trim() == "")
        {
            alert("Please enter the name");
            $("input[name='name']").focus();
            return false;
        }
        return true;
    }

答案 3 :(得分:0)

试试这个......

function formValidation()
    {
        if($("input[name='name']").val().trim() == "")
        {
            alert("Please Enter The Name");

            return false;
        }
        return true;
    }