我知道这个问题看起来很明显而且多余,但是很难说出来,我会试着解释一下:
我有一个“发送到电子邮件”的PHP函数,它也通过“Header”重定向,如下所示:
# -=-=-=- SEND MAIL
$mail_sent = @mail( $to, $subject, $message, $headers );
header('Location: nextpage.php?orderno=' . $orderno);
问题是订单号($ orderno)必须在HTML下面定义(它是一个随机的6位数字),因为SEND MAIL函数收集HTML信息(包括$ orderno)。但我还需要标题包含相同的$ orderno值以重定向到下一页。
现在看来只是改变定义$ orderno的顺序似乎是显而易见的,但是如果我首先将它包含在SEND MAIL函数中,HTML就不会得到它,因为只有在“按下提交“按钮,但如果我先将它包含在HTML中,那么PHP就不会得到它。
我已经尝试将PHP粘贴在HTML之下,因为$ orderno已正确定义,但也带来了明显的PHP Header错误。
关于如何解决这个问题的任何想法都会非常出色!我一直很困惑,我还没有解决这个看似简单的问题。谢谢!
答案 0 :(得分:2)
示例:
session_start();
$orderno = rand(); // or so...
$_SESSION['orderno'] = $orderno;
$mail_sent = @mail( $to, $subject, $message, $headers );
header('Location: nextpage.php');
on nextpage.php
session_start();
$orderno = $_SESSION['orderno'];
答案 1 :(得分:0)
也许这可行:
$orderno = "333444333";
$header = 'Location: nextpage.php?orderno=' . $orderno;
$mail_sent = @mail( $to, $subject, $message, $headers );
header($header);
答案 2 :(得分:0)
也许输出缓冲?