在php中验证表单 [英] validate a form in php

查看:52
本文介绍了在php中验证表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,我试图在PHP中验证一个表单。当我必须检查必要的字段时工作正常。但是检查正确的电子邮件格式它显示错误但是在表单提交后。如何纠正这个?这是代码



 <  !DOCTYPE     HTML  >  
< html >
< head >
< 样式 >
.error {color:#FF0000;}
< / style >
< / head >
< 正文 >

<? php

// define 变量 set to

$ nameErr = $ emailErr = $ genderErr = $ websiteErr = $ emailErr1 = ;

$ name = $ email = $ gender = $ comment = $ website = ;



if ($ _ SERVER [REQUEST_METHOD] = = POST)

{



if (空($ _ POST [name]))

{$ nameErr < span class =code-summarycomment> = 名称是必需的 ;}

< span class =code-summarycomment> else

{$ name = test_input($ _ POST [ name]);}



if (空($ _ POST [email]))

{$ emailErr = 需要电子邮件 ;}

< span class =code-summarycomment> else

{$ email = $ _ POST [ email];

if (!preg_match(/([\\ - - ] + \ @ [\ w \ - ] + \。[\\\\ - ] +)/,$ email))

{

$ emailErr1 = 无效的电子邮件格式 ;

}

}



< span class =code-summarycomment> if (空($ _ POST [网站]))

{$网站 = ;}

else

{$ website = test_input($ _ POST [ website]);}



if (空($ _ POST [comment]))

{$ comment = ;}

else
< span class =code-summarycomm ent>
{$ comment = test_input($ _ POST [ comment]);}



if (空($ _ POST [gender]))

{$ genderErr = 性别是必需的 ;}

else

{$ gender = test_input($ _ POST [ gender]);}

}



function test_input($ data)

{

$ data = trim($ data);

$ data = 的stripslashes($数据);

$ data = 用htmlspecialchars($数据);

return $ data;

}

>

< h2 < span class =code-keyword>>
PHP表单验证示例< / h2 >
< p > < span = 错误 > *必填字段。< / span > < / p >
< 表格 方法 = post action = <?php echo htmlspecialchars($ _ SERVER [ PHP_SELF]);? > >
名称:< 输入 类型 = text name = 名称 >
< span class = 错误 > * < ? php echo < span class =code-summarycomment> $ nameErr;? > < / span >
< br > < br >
电子邮件:< 输入 < span class =code-attribute> type = text name = email >
< span = 错误 > * <? php echo $ emailErr; echo $ emailErr1;? > < / span >
< br > < br >
网站: < 输入 type = text name = 网站 >
< span class =code-keyword>< span class = error > <? php echo $ websiteErr;? > < / span >
< br > < br >
评论:< textarea name = comment = 5 cols = 40 < span class =code-keyword>> < / textar ea >
< br > < br >
性别:
< input type = radio 名称 = 性别 value = female > 女性
< 输入 type = radio name = 性别 value = 男性 > 男性
< span class = 错误 > * <? php echo
$ genderErr;? > < / span >
< br > < br >
< 输入 type = 提交 名称 = 提交 value = 提交 >
< / form >

<? php

echo < h2 > 您的输入:< / h2 > ;
echo $ name;
echo< br > < /跨度>;
echo $ email;
echo< br > < /跨度>;
echo $ website;
echo< br > < /跨度>;
echo $ comment;
echo< br > < /跨度>;
echo $ gender;
?>

< / body >
< / html >

解决方案

nameErr =


emailErr =


genderErr =

hello i am trying to validate a form in php. It is working fine when i have to check for required field.But on checking for correct email format it is showing error but after the form gets submitted.How to correct this?Here is the code

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php

// define variables and set to empty values

$nameErr = $emailErr = $genderErr = $websiteErr =$emailErr1= "";

$name = $email = $gender = $comment = $website = "";



if ($_SERVER["REQUEST_METHOD"] == "POST")

{



   if (empty($_POST["name"]))

     {$nameErr = "Name is required";}

   else

     {$name = test_input($_POST["name"]);}



   if (empty($_POST["email"]))

     {$emailErr = "Email is required";}

   else

     {$email =$_POST["email"];

   if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))

  {

  $emailErr1 = "Invalid email format";

  }

 }



   if (empty($_POST["website"]))

     {$website = "";}

   else

     {$website = test_input($_POST["website"]);}



   if (empty($_POST["comment"]))

     {$comment = "";}

   else

     {$comment = test_input($_POST["comment"]);}



   if (empty($_POST["gender"]))

     {$genderErr = "Gender is required";}

   else

     {$gender = test_input($_POST["gender"]);}

}



function test_input($data)

{

     $data = trim($data);

     $data = stripslashes($data);

     $data = htmlspecialchars($data);

     return $data;

}

?>

<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
   Name: <input type="text" name="name">
   <span class="error">* <?php echo $nameErr;?></span>
   <br><br>
   E-mail: <input type="text" name="email">
   <span class="error">* <?php echo $emailErr;echo $emailErr1;?></span>
   <br><br>
   Website: <input type="text" name="website">
   <span class="error"><?php echo $websiteErr;?></span>
   <br><br>
   Comment: <textarea name="comment" rows="5" cols="40"></textarea>
   <br><br>
   Gender:
   <input type="radio" name="gender" value="female">Female
   <input type="radio" name="gender" value="male">Male
   <span class="error">* <?php echo $genderErr;?></span>
   <br><br>
   <input type="submit" name="submit" value="Submit">
</form>

<?php

echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>

解决方案

nameErr =


emailErr =


genderErr =


这篇关于在php中验证表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆