在php中验证表单 [英] validate a form in php
本文介绍了在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屋!
查看全文