我是PHP和Web的新手。我有一个任务,通过PHP验证javascript和服务器在客户端的注册表单。我不明白这意味着什么。
我制作了一个注册表单,并使用javascript验证了所有字段
<form name="register" onSubmit="return validateForm()">
//...code display form here...
<input type="submit" name="Submit" value="Submit">
</form>
<script language="javascript">
//...validate function here...
function validateForm() {
//...
}
</script>
我把上面的代码放在register.php中。现在我如何在PHP服务器端进行验证?我需要创建一个新的php文件并使用post方法将数据从这个register.php传递给新的?并且在验证之后我将数据发回到注册时出错,如果有的话
我知道如何在PHP中验证表单,但我不知道如何将经过javascript验证的客户端表单连接到php验证服务器表单。
此外,如果出现问题,需要重新加载页面并向用户显示错误,必须保留所有输入的数据。
这也是我不知道怎么做的。你能告诉我怎么做,或者一些非常简单的代码片段吗?非常感谢帮助。提前谢谢。
答案 0 :(得分:0)
我相信你可以简单地输入数据。显然这只是伪代码:
validateForm() {
if (typeof formData === 'duck')
// do logic here
}
答案 1 :(得分:0)
我最初的想法是从表单中删除onSubmit方法并调用method =“POST”或method =“GET”。然后我会为每个表单字段使用onBlur,它将调用javascript函数来验证该特定字段。最后,设置action ='validate.php'或其他包含PHP验证代码的文件名。成功后重定向到您想去的地方。失败后,刷新页面并将$ _POST或$ _GET变量暂时设置为等于$ _SESSION变量。
答案 2 :(得分:0)
一体化文件形式处理程序看起来像这样:
myfile.php:
<?php
$errors = array()
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['name']) && !empty($_POST['name'])) {
$name = $_POST['name'];
} else {
$errors[] = "Please provide your name";
}
}
?>
<html>
<head>
<title>Name Form</title>
</head>
<body>
<?php if (count($errors) > 0) { ?>
<ul>
<li><?php echo implode("</li>\n\t", $errors); ?></li>
</ul>
<?php } else { ?>
<p>Pleased to meet you, <?php echo htmlspecialchars($name) ?></p>
<? } ?>
<form method="POST" action="">
<p>Please enter your name: <input type="text" size="20" name="name" value="<?php echo htmlspecialchars($name) ?>" /></p>
<input type="submit" value="Submit" />
</form>
当然,这违反了设计Web应用程序的各种“最佳实践”,但它确实展示了在服务器端呈现表单和进行数据验证的每个阶段。