我有一个基本的PHP表单页面,其中包含大量的数据,一旦全部完成,这些数据将被保存到MySql中的大约4-5个不同的表中。由于构建这个保存例程需要一点PHP,我希望POST操作不是指向PHP_SELF,而是指向一个单独的PHP文件进行处理。PHP表单处理器错误传递
当诸如电话号码,电子邮件,邮政编码等所有常规数据之前将被传递到处理器脚本,如果是由处理器返回一个错误提交验证...
什么是在保持数据输入的同时指向原始表单页面(HTTP_REFERER)的最佳实践方式?
<?php
if (isset($_POST['date']) && ($_SERVER['HTTP_REFERER'] == "form.php"))
{
$errors = false;
//attempt to put data in database
if ($errors)
{
//Pass back to the form.php page with error message and all data intact
}
}
?>
我从别人那里听说过这个,但是想知道这是否被认为是最佳做法。这是肮脏的,但它确实完成了工作......虽然效率是关键。 – Jeff 2011-03-04 04:54:42
我们之所以选择这种方式有很多原因。让java脚本强制提交重定向将允许用户点击后退按钮并可能导致一些错误。由于我们有超过60个字段的数据,GET方法并不是非常优化的。唯一可用的方法是暂时保留它。我同意,这是一个混乱的方式,但到目前为止还没有任何问题。这实际上取决于个人意见和您面临的选择。 – Dave 2011-03-04 05:00:12
感谢您在javascript上的推理 - 我没有考虑过使用它的原因,而不是提交按钮。 – Jeff 2011-03-04 05:02:25