Передать переменные между двумя страницами PHP без использования формы или URL-адреса страницы

Я хочу передать пару переменных со страницы PHP на другую. У меня нет формы, переменные – это некоторые сообщения, которые целевая страница хочет отобразить, если что-то пойдет не так. Как передать эти переменные на другую страницу PHP, сохраняя их невидимыми ?

например, допустим, что у меня есть эти две переменные:

//Original page $message1 = "A message"; $message2 = "Another message"; 

и я хочу передать их с page1.php на page2.php. Я не хочу передавать их через URL.

 //I don't want that 'page2.php?message='.$message1.'&message2='.$message2 

Есть ли способ (возможно, через $ _POST?)? Если кто-то задается вопросом, почему я хочу, чтобы они были невосприимчивы, мне просто не нужен большой URL-адрес с такими параметрами, как «& message = Проблема при загрузке файла. Это недействительный .zip-файл», и у меня мало времени для изменения перенаправления моей страницы, чтобы избежать этой проблемы.

Related of "Передать переменные между двумя страницами PHP без использования формы или URL-адреса страницы"

Сессии будут хорошим выбором для вас. Взгляните на эти два примера из руководства PHP :

Код страницы1.php

 <?php // page1.php session_start(); echo 'Welcome to page #1'; $_SESSION['favcolor'] = 'green'; $_SESSION['animal'] = 'cat'; $_SESSION['time'] = time(); // Works if session cookie was accepted echo '<br /><a href="page2.php">page 2</a>'; // Or maybe pass along the session id, if needed echo '<br /><a href="page2.php?' . SID . '">page 2</a>'; ?> 

Код страницы2.php

 <?php // page2.php session_start(); echo 'Welcome to page #2<br />'; echo $_SESSION['favcolor']; // green echo $_SESSION['animal']; // cat echo date('Y md H:i:s', $_SESSION['time']); // You may want to use SID here, like we did in page1.php echo '<br /><a href="page1.php">page 1</a>'; ?> 

Чтобы прояснить ситуацию – SID является предопределенной константой PHP, которая содержит имя сеанса и его идентификатор. Пример значения SID:

 PHPSESSID=d78d0851898450eb6aa1e6b1d2a484f1 

Вот краткий список:

  • JQuery с JSON. ( http://www.w3schools.com/xml/xml_http.asp )

  • $ _SESSION – возможно, лучший способ

  • Пользовательский cookie – не будет * всегда * работать.

  • HTTP-заголовки – некоторый прокси-сервер может блокировать его.

  • базы данных, такие как MySQL, Postgres или что-то еще такое Redis или Memcached (например, похоже на домашний сеанс, «заблокирован» по IP-адресу)

  • APC – похоже на базу данных, не будет * всегда * работать.

  • HTTP_REFERRER

  • URL-адрес хеш-параметра, например http://domain.com/page.php#param – вам понадобится JavaScript для сбора хэша. – Gmail сильно использует это.

 <?php session_start(); $message1 = "A message"; $message2 = "Another message"; $_SESSION['firstMessage'] = $message1; $_SESSION['secondMessage'] = $message2; ?> 

Сохраняет сеансы на стр. 1, затем на стр. 2

 <?php session_start(); echo $_SESSION['firstMessage']; echo $_SESSION['secondMessage']; ?> 

Вы пытались добавить оба в $_SESSION ?

Затем в верхней части страницы page2.php просто добавьте:

 <?php session_start(); 

Используйте сеансы .

Страница 1:

 session_start(); $_SESSION['message'] = "Some message" 

Страница 2:

 session_start(); var_dump($_SESSION['message']); 

Просто используйте переменные сеанса.

http://www.w3schools.com/php/php_sessions.asp