Сессия для сохранения "электронной почты", не переходящей на страницу подтверждения из-за form.php - PullRequest
1 голос
/ 17 октября 2011

Это мой процесс.Я прикрепил ссылку на каждую страницу, чтобы вы могли видеть точный код, поскольку он важен.Я не могу решить эту проблему.

page.php (там, где расположена форма, внизу страницы)

form.php (где эта форма и другие обрабатываются, а данные сохраняются в CRM)

translation.php (куда перенаправляется page.php после отправки POST)

По сути, у меня есть страница на page.php, которая формирует POSTS в form.php, где данные сохраняются в сценарии CRM, а затем перенаправляет на подтверждение.php.

Мне нужно передать значение «email» наtranslation.php Я использовал сессию в form.php, чтобы сохранить значение электронной почты, а затем повторить его при подтверждении.Пожалуйста, проверьте код выше, чтобы увидеть, как.

Но результат?Он не работает, электронное письмо не отображается в файле подтверждения.php

Есть идеи?

Важная часть приведенных выше кодов (на мой взгляд):

В форме.php в самом верху:

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

в файле confimation.php в самом верху:

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

в подтверждение. php я затем повторю его:

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

Но это не работает.

1 Ответ

1 голос
/ 17 октября 2011

Просто добавьте адрес электронной почты в строку запроса для благодарственного URL.

Если в благодарственном URL еще нет переменных в строке запроса, то это все, что вам нужно сделать:

В form.php измените это:

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

На это:

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

Если в URL уже есть переменные, вам понадобится дополнительная строкачтобы выглядеть так, с амперсандом вместо знака вопроса:

$thanksurl .= '&email=' . $email;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...