将表单值传递给一个php进行检查,然后传递给第二个php进行处理


Pass form values to one php for checking and then to a second php for processing

这个问题说明了一切!

我有一个表单需要用php进行验证(对于禁用javascript的浏览器)。然后,一旦处理了所有错误(如果有的话),就需要将数据发送到另一个php进行处理。我发现这篇文章的同页处理很有用,因为它处理了与表单在同一页上的验证-这使我不需要将值传递回原始表单……等等。[现在我忽略了返回按钮和页面刷新保留值的问题-这对我的POV来说是完全不可取的)

然而,我在同一篇帖子中注意到,看起来所有的表单处理都应该和表单放在同一页上。这(我觉得)会让文件变得丑陋,维护起来很头疼。所以我想知道:

如果我在另一个php文件中完成了(已检查错误)表单处理,该怎么办?是否可以调用该文件(而不是通过include)或将适当的数据(通过验证代码或其他方式)发送到外部处理文件(类似于我们从实际表单发送POST数据的方式)?

我问这个问题的原因是,我有一个工作系统,在这个系统中,表单将数据提交到一个外部php文件,该文件对数据进行处理并将其保存到数据库中。我知道这是一种糟糕的做法,但我只是在所有这些都完成并工作后才考虑添加验证。

我想将外部php中的所有代码复制到验证表单输入的php中就足够简单了,但不知何故,这似乎不是一个好主意!我更愿意将处理的"保存到数据库"部分保存在一个单独的文件中。

因此,问题来了:

  1. 用户填写表单(form.php)
  2. PHP在同一页面上检查错误,并在出现错误时使用输入的数据重新加载表单(form.PHP)
  3. 如果没有遇到任何错误,它会将(?)数据作为(可能)POST值发送到处理文件(process.php)

这可能吗?如果是的话,请给出一个提示——没有代码,因为我想自己学习如何做到这一点!

您可以使用curl 执行此操作

  1. 提交form.php
  2. 如果出现错误,请重新加载
  3. 如果没有错误,执行curl

curl示例

//open connection
$ch = curl_init();
//set the url, POST data
curl_setopt($ch,CURLOPT_URL,$process_url);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);

来源:在PHP脚本中发布到另一个页面