会话保存“电子邮件”;没有传递到确认页,因为form.php


Session to save "email" not passing onto confirmation page because of form.php

这是我的过程。我给每个页面附上了一个链接,这样你就可以看到确切的代码,因为它很重要。我解决不了这个问题。

page.php(表单所在的位置,位于页面底部)

form.php(处理此表单和其他表单,并将数据保存到CRM中)

confirm .php(其中page.php在POST提交后重定向)

基本上我有一个窗体的page.php的形式post到form.php的数据被保存到一个CRM脚本,然后重定向到confirm .php。

我需要传递"email"值到confirm .php我所做的是我在form.php上使用一个会话来保存电子邮件值,然后在确认时回显它。请检查上面的代码,看看如何。

但是结果呢?它不工作,电子邮件没有在confirm .php

上回显

任何想法?

以上代码的重要部分(在我看来):

在form.php的最顶端:

<?php 
session_start();    
$_SESSION['contact'] = $_POST['email']; 
?>
<?php

在confirm .php最上面:

<?php 
session_start(); 
?>
<?php

在confirm .php我然后回显它:

<?php echo $_SESSION['contact']; ?>

只需将电子邮件地址添加到感谢URL的查询字符串中。

假设thank you URL在查询字符串中没有变量,那么你所要做的就是:

在form.php中,修改如下:

if ($thanksurl) {
  header('Location: ' . $thanksurl);
}

:

if ($thanksurl) {
  $thanksurl .= '?email=' . $email;
  header('Location: ' . $thanksurl);
}

如果URL中已经有变量,那么您希望额外的行看起来像这样,用&号代替问号:

$thanksurl .= '&email=' . $email;