PHP Pass Data с перенаправлением

Перенаправление PHP с почтовыми данными

Здравствуй,

Я новичок программист PHP и пытаюсь закодировать небольшой блог.

Я объясню, что я пытаюсь сделать.

  • page1.php: есть таблица всех сообщений в блоге
  • page2.php: Эта страница имеет форму, где вы можете добавить сообщение

А затем обрабатывает данные, если он успешно, то использует header () для перенаправления на страницу 1, которая показывает таблицу.

Теперь то, что я хочу сделать, – это иметь небольшое сообщение на странице 1 над таблицей, в которой ваше сообщение в блоге было успешно отправлено, но я не уверен, как передать данные на страницу 1 после обработки формы.

Установите его как значение $_SESSION .

на стр. 2:

 $_SESSION['message'] = "Post successfully posted."; 

на стр. 1:

 if(isset($_SESSION['message'])){ echo $_SESSION['message']; // display the message unset($_SESSION['message']); // clear the value so that it doesn't display again } с if(isset($_SESSION['message'])){ echo $_SESSION['message']; // display the message unset($_SESSION['message']); // clear the value so that it doesn't display again } 

Убедитесь, что у вас есть session_start() в верхней части обоих скриптов.

EDIT : Missed ) in if(isset($_SESSION['message']){

Классический способ решения этой проблемы – файлы cookie или сеансы; PHP имеет встроенную библиотеку сеансов, которая помогает в создании и управлении сеансами:

http://www.php.net/manual/en/book.session.php

Вот краткий пример:

Страница 1

  session_start(); if (isset($_SESSION['message'])) { echo '<div>' . $_SESSION['message'] . '</div>'; unset($_SESSION['message']); } с  session_start(); if (isset($_SESSION['message'])) { echo '<div>' . $_SESSION['message'] . '</div>'; unset($_SESSION['message']); } 

Страница 2

  session_start(); // Process POST data $_SESSION['message'] = 'Hello World'; // Redirect to Page 1 

Вы также можете просто добавить переменную в местоположение заголовка, а затем вызвать ее со страницы.

 header('Location: http://example.com?message=Success'); 

Затем, где бы вы ни захотели, чтобы сообщение появилось, просто выполните:

 if (isset($_GET['message'])) { echo $_GET['message']; }