gpt4 book ai didi

php - PHP 中的自动返回命令

转载 作者:太空宇宙 更新时间:2023-11-03 20:58:27 25 4
gpt4 key购买 nike

我的网站上有一个表格,其中有一系列框。单击提交按钮时,它会使用 PHP 检查以确保所有部分都是相关的。 (IE 如果电子邮件是电子邮件,如果名称没有无效字符等)

如果发生这种情况,在 PHP 脚本中,它当前会:

function died($error) {
// your error code can go here
header( "refresh:0;url=construction.html" );
echo $error;
die();

现在它刷新页面。所以如果你做错了一件事,它会清除表格。在 PHP 中有没有一种方法可以让这个而不是返回(从而保留填写的表格)。

它当前所在的网站是here .我相信它可能是 JavaScript 的某种实现,但我不知道这是什么以及如何格式化它。

感谢您的帮助!

最佳答案

  1. 您所谓的“确保是否相关”称为验证,是提交表单时的正常且必要的步骤

  2. 您总是需要服务器端验证(在您的情况下是 PHP),这意味着您可以为了可用性和速度添加客户端验证(Javascript)但您永远不能省略服务器端验证因为安全原因

  3. 将有效数据反馈给表单也是一种常见做法,因为不这样做对用户不友好

  4. 你的函数 died($error) 看起来很奇怪而且没有必要,验证失败不是死亡的理由。


播种你应该怎么做?

Javascript(客户端)

使用 Javascript,您可以预先验证表单以避免不必要的服务器往返,并立即向用户提供反馈。有很多使用 jQuery、dojo、MooTools 等实现的表单验证。但不要忘记,Javascript 可以关闭,因此您也必须在服务器端验证所有内容!

PHP(服务器端)

一个好方法是使用现有的验证类,如 Zend_Validate 或什至 Zend_Form。 Zend_Form 使得将经过验证的发布数据反馈回表单变得非常容易,例如$form->populate($data).

任何其他支持表单的框架或库也会有所帮助。当然,您不需要一个库,因此您需要阅读有关如何使用原始有效发布数据填充表单的信息。如果这样做,请确保您可以将 $_POST 数组的副本发送回客户端,如果原始值有效,则在客户端存储原始值,并为无效的字段发送标志/消息。将其集成到标记中的基本方法如下所示:

<input type="text" value="<?php echo ($validatedPost['email']['isValid']) ? $validatedPost['email']['value']: '' ?>" name="email" />
<?php if ($isPostBack && !$validatedPost['email']['isValid']) : ?>
<p class="invalid"><?php echo $validatedPost['email']['message']; ?></p>
<?php endif; ?>

关于php - PHP 中的自动返回命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7049892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com