Получение значения переменной, когда значение определяется впоследствии в PHP? - PullRequest
0 голосов
/ 08 марта 2012

Я знаю, что этот вопрос кажется очевидным и излишним, но это было довольно сложно, я попытаюсь объяснить:

У меня есть PHP-функция «Отправить на электронную почту», которая также перенаправляет через «Заголовок»выглядит следующим образом:

# -=-=-=- SEND MAIL
$mail_sent = @mail( $to, $subject, $message, $headers );
header('Location: nextpage.php?orderno=' . $orderno);

Проблема в том, что номер заказа ($ orderno) ДОЛЖЕН быть определен (это случайное 6-значное число) ниже в HTML, так как функция SEND MAIL собирает информацию HTML(включая $ orderno).Но мне также нужно, чтобы заголовок включал то же значение $ orderno для перенаправления на следующую страницу.

Теперь кажется очевидным просто изменить порядок определения $ orderno, но если я его включусначала в функции «ОТПРАВИТЬ ПОЧТУ» HTML не получает его, так как функция активируется только тогда, когда нажата кнопка «Отправить» ниже, но если я сначала включу ее в HTML, PHP не получит ее.

Я пытался вставить PHP ниже HTML, который работал в том смысле, что $ orderno был правильно определен, но также вызывал очевидные ошибки PHP Header.

Любые идеи о том, как решить эту проблемувопрос будет выдающимся!Я был сбит с толку, что я не решил такую, казалось бы, простую проблему.Спасибо!

Ответы [ 3 ]

2 голосов
/ 08 марта 2012

а как насчет сеансов?

пример:

session_start();
$orderno =  rand(); // or so...
$_SESSION['orderno'] = $orderno;
$mail_sent = @mail( $to, $subject, $message, $headers );
header('Location: nextpage.php');

на nextpage.php

session_start();
$orderno = $_SESSION['orderno'];
0 голосов
/ 08 марта 2012

Возможно выходная буферизация?

php manual

0 голосов
/ 08 марта 2012

Возможно, это может сработать:

$orderno = "333444333";

$header = 'Location: nextpage.php?orderno=' . $orderno;

$mail_sent = @mail( $to, $subject, $message, $headers );


header($header);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...