【问题标题】:Submit form to php page and carry over POST data to redirect page将表单提交到 php 页面并将 POST 数据传递到重定向页面
【发布时间】:2013-08-09 01:55:01
【问题描述】:

我找到了一些关于这个问题的一般信息,但似乎没有什么能回答我的确切问题。

我在 .php 页面上有一个表单,当提交 POST 时将输入发送到另一个 php 页面,它将表单输入发送到我的电子邮件,然后使用(位置:page.php)重定向到另一个 php 页面

so: form.php --> email.php(隐藏)--redirect--> submit.php

我希望将来自 form.php 的输入转移到 submit.php 上的隐藏输入框

我希望这是有道理的,在此先感谢您的帮助!

编辑:

在提交的.php 上,我将有一个隐藏的表单输入。我需要该输入的值等于 form.php 的输入之一。然后我会将该输入发布到另一个 php 页面(上面未显示),该页面会将其发送到我的电子邮件。

【问题讨论】:

  • 嘿,SirBdon,对不起……今晚脑子坏掉了:(
  • 理解了这个问题,但是,如果您能发布到目前为止您尝试过的内容,将不胜感激
  • 我很清楚你想做什么,但我的大脑无法启动。称之为“疲劳”。让我们看看是否有其他人可以提供帮助,我只是把李子藏起来了。但简而言之,您基本上需要使用第一个变量并将其传递给下一个变量,然后在您的处理器中,使用第二个变量作为您的最终 POST 值。
  • 您是否需要最后一页 (submitted.php) 才能以 $_POST 形式接收输入?还是可以接受其他方法(GET/sessions/etc)?
  • 好吧,除非他想改变他的流程,否则他几乎必须使用 GET 或会话。

标签: php post


【解决方案1】:

只需将您的发送电子邮件代码放入您的 submit.php 代码中,并使用会话防止用户通过按 F5 或刷新 submit.php 来重复输入,如下所示:

在form.php中

session_start();
$_SESSION['submit'] = true;

在提交的.php 中

session_start();
if (isset($_SESSION['submit']) && $_SESSION['submit']){

/*
* do your code
*/
  $_SESSION['submit'] = false;
}
else{
  echo 'some error';
}

【讨论】:

  • 如果我理解正确,它会在 form.php 提交后立即发送 submit.php?不幸的是,我需要用户在发送之前在 submit.php 中输入更多数据
  • @SirBdon 但是,您在问题中考虑的顺序表明电子邮件发送与最终提交是分开的!
猜你喜欢
  • 1970-01-01
  • 2014-05-12
  • 1970-01-01
  • 2014-03-10
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-17
相关资源
最近更新 更多