PHP:使用正则表达式执行表单验证,然后提交
下面的脚本可以很好地验证输入。问题是在验证之后,我想将数据发送到另一个脚本,以便它可以存储在数据库中。如何编辑操作属性以获得所需内容PHP:使用正则表达式执行表单验证,然后提交,php,regex,validation,Php,Regex,Validation,下面的脚本可以很好地验证输入。问题是在验证之后,我想将数据发送到另一个脚本,以便它可以存储在数据库中。如何编辑操作属性以获得所需内容 <!DOCTYPE HTML> <html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php $nameErr = ""; $name = ""; if ($_SERVER["
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
$nameErr = "";
$name = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
}
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" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Input:</h2>";
echo $name;
?>
</body>
</html>
.错误{color:#FF0000;}
PHP表单验证示例:
*必填字段
启动会话:
session_start();
在会话中存储表单数据:
$_SESSION['form_data'] = $_POST;
重定向到新脚本:
header("Location: new_script.php");
在新脚本中,从会话中检索数据并将其插入数据库。有关详细信息,请参阅。是否希望他们提交两次表单?首先验证它,然后将它发送给处理它的第二个脚本?如果他们在您验证输入后修改输入,该怎么办?验证时不应调用htmlspecialchars
,而应仅在显示数据时使用。我想要的是:1。验证输入。2.如果一切正常,则重定向到流程脚本。3.如果没有返回到html页面,出现错误消息。重定向不会发送POST参数。我知道这就是我被困在这里的原因。。。有什么建议吗?顺便说一下,谢谢你:D