深入了解如何将两个表单字段提交到两页之外的单独页面

Insight on how to have two form fields submit to a separate page, 2 pages away

本文关键字:两页 单独页 提交 两个 了解 表单 字段      更新时间:2023-09-26

我正在想一个最简单的方法,让两个字段提交到两页之外的页面。我知道这不是最好的描述,所以让我试着解释一下。

在第1页上有两个字段,研讨会标题和讲师,当你点击下一步时,你将进入第二个php页面,这是一个由10个问题组成的民意调查,当你提交时,它将这些结果添加到数据库中,并将你转发到第三个(不同的)php页面,该页面还有10个类型/文本框和问题。这里的问题是,民意调查有自己的民意调查系统,而文本框则通过电子邮件将结果发送到特定的电子邮件地址。我希望第一页的两个字段包含在那封电子邮件中,但如果不在同一个表单上,怎么能做到呢?

我不想让他们再次重新键入2个字段,使它们成为隐藏字段也不起作用,因为投票系统的工作方式为每个问题都有自己的提交按钮,提交后会丢失隐藏字段,它就是不起作用。

我试着将第一页提交到一个.txt文件中,该文件将信息保存到第三页,然后它就可以读取了,但后来我遇到了PHP Mailer不理解的问题:

$f = fopen("data/title.txt", "r");
$titleA = fgets($f);

这本身就在mailer.php 之外工作

<?php session_start();
if(isset($_POST['Submit'])) {
$youremail = 'jsadkfjdslkfjs';
$to = $youremail; 
$mailsubject = 'Workshop Feedback Form';
$body = $fromsubject.'
$f = fopen("data/title.txt", "r");
$titleA = fgets($f);

Workshop Title:
'.$titleA.'
Instructor Name:
'.$inameA.'
'; 
mail($to, $mailsubject, $body);
?>

我知道这很长。我只是希望有人能给我指明正确的方向,我肯定是在寻找一些东西。

您可以使用$_GET通过URL传递这些值,然后在下一页对其进行验证。

另一种解决方案是使用cookie或服务器会话。

您可以使用隐藏输入在页面之间传递信息

  • 用户填写第1页
  • 提交服务器获取请求,如果必要的
  • 服务器渲染第2页,渲染<input type="hidden" name="PageOne_SomeFld" value="<?php echo $_POST['SomeFldOnPageOne']; ?>">
  • 用户填写第2页
  • 提交

等等。第2页的一次提交,服务器将从第1页传递隐藏值