Javascript 将$\u POST变量传递到新URL,然后返回到以前的URL-最佳做法?

Javascript 将$\u POST变量传递到新URL,然后返回到以前的URL-最佳做法?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我在index.php上有一个表单,它使用onblur事件进行AJAX验证,在禁用javascript的情况下进行php验证。AJAX调用和PHP表单操作都会将用户引导到validate.PHP,它会根据是“AJAX”还是“PHP”检查验证类型和过程。如果AJAX验证成功且未显示任何错误消息,则允许用户提交表单,并使用$\u POST变量重定向到validate.php。我需要validate.php将随表单一起提交的所有$\u POST变量传回index.php(或整个项目中的任何其他URL,

我在index.php上有一个表单,它使用onblur事件进行AJAX验证,在禁用javascript的情况下进行php验证。AJAX调用和PHP表单操作都会将用户引导到validate.PHP,它会根据是“AJAX”还是“PHP”检查验证类型和过程。如果AJAX验证成功且未显示任何错误消息,则允许用户提交表单,并使用$\u POST变量重定向到validate.php。我需要validate.php将随表单一起提交的所有$\u POST变量传回index.php(或整个项目中的任何其他URL,具体取决于表单的位置),并返回一个等于“success”的结果。解决这个问题的方法是什么,它可以以最安全的方式在我的项目中的所有表单中重用

<form action="validate.php" method="POST">

<input type="hidden" name="validation_type" value="php"/>

<input type="text" name="user_first_name" id="user_first_name" value="" onblur="validate(this.value, this.id)" />

</form>


也许你应该使用会话。将表单中的$u POST值保存到validate.php中。现在,只要会话继续,您就可以在每页上访问它们。

也许您应该使用会话。将表单中的$u POST值保存到validate.php中。现在,只要会话继续,您就可以在每个页面上访问它们。

您是否预见在禁用javascript的情况下会出现这种情况,即使如此,您的整个web应用程序是否会为这种不寻常的情况提供回退?大约2%的用户禁用了javascript。我不确定你是否真的有必要尝试迎合这种人口结构,因为你可以在横幅上写上JavaScript是必需的。也就是说,我能看到您在不让用户与另一个表单交互的情况下执行此操作的唯一方法是在PHP会话中存储所有$\u POST值(您也可以在ajax中执行此操作),然后只使用会话变量而不是
$\u POST
,并在每个需要验证的地方包含该功能。如果验证通过,您将得到一个TRUE,否则将得到一个充满错误的数组。这样,您就不需要在服务器和客户端之间来回推送POST变量,整个问题就解决了;-)如果javascript被禁用,您是否预见到会出现这种情况?即使如此,您的整个web应用程序是否会针对这种不寻常的情况进行回退?大约有2%的用户禁用了javascript。我不确定你是否真的有必要尝试迎合这种人口结构,因为你可以在横幅上写上JavaScript是必需的。也就是说,我能看到您在不让用户与另一个表单交互的情况下执行此操作的唯一方法是在PHP会话中存储所有$\u POST值(您也可以在ajax中执行此操作),然后只使用会话变量而不是
$\u POST
,并在每个需要验证的地方包含该功能。如果验证通过,您将得到一个TRUE,否则将得到一个充满错误的数组。这样,您就不需要在服务器和客户端之间来回推送POST变量,整个问题就解决了;-)谢谢@PaulS,这就解决了!谢谢@PaulS,这就解决了!