验证注册表客户端与JavaScript和服务器端与PHP
我是新来的PHP和Web的东西。我有一个任务,通过PHP在JavaScript和服务器上验证客户端的注册表单。我不明白这意味着什么。验证注册表客户端与JavaScript和服务器端与PHP
我提出的寄存器形式,并且验证所有字段与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验证服务器表单。
另外需要的是,如果出现问题,重新加载页面并显示错误给用户,所有输入的数据都必须保留。
这也是我不知道该怎么做的。你能告诉我怎么做,或者一些非常简单的代码片段?帮助真的很感激。提前致谢。
的所有功能于一身的文件格式处理程序将是这个样子:
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应用程序提供了一些“最佳实践”,但它确实展示了呈现表单和进行数据验证服务器端的每个阶段。
我相信你可以只输入数据。显然,这仅仅是伪代码:
validateForm() {
if (typeof formData === 'duck')
// do logic here
}
你是什么意思的鸭型数据?我已经在客户端用javascript做了验证部分。现在我被困在如何连接客户端JavaScript到服务器端的PHP。你能否进一步解释你的答案?提前致谢。 – PeteMerry 2011-03-24 19:39:09
那么我最初的想法是从表单删除的onsubmit方法和调用方法=“POST”或方法=“GET”。然后,我会使用onBlur为每个表单字段调用一个javascript函数来验证该特定字段。最后你设置action ='validate.php'或其他一些包含PHP验证代码的文件名。成功后重定向到你想去的地方。失败时,刷新页面并暂时将其设置为$ _SESSION变量,从而继承$ _POST或$ _GET变量。
您的详细代码帮了我很多。谢谢马克。我能够连接JavaScript客户端与PHP服务器端,但我必须弄清楚如何保持提交后的形式和东西......无论如何感谢很多马克。 – PeteMerry 2011-03-25 12:09:01