2010-11-04 4 views
1

У меня есть страница. Пользователь отправляет страницу и отправляет ее на страницу результатов PHP. Он работает нормально. Теперь я хочу, чтобы страница результатов ссылалась на другую страницу, а элементы на этой странице зависели от того, что было на странице результатов. Я знаю, как передавать переменные формы на другую страницу, но я ничего не знаю о передаче неформальных переменных.PHP: Передавать неформальные переменные между страницами?

Из моего поиска в Интернете, я думаю, что я должен проходить по URL-адресу. Это верно? Если это так, возможная проблема: страница, на которой я хочу передать страницу результатов, будет иметь форму, и пользователь перейдет на еще одну страницу результатов, нажав кнопку отправки (данные формы будут отправлены POST). Могу ли я отправить неформальные данные (старую переменную страницы результатов) вместе с данными формы, если пользователь перейдет на другую страницу с помощью POST?

+0

возможно дубликат [переменной PHP перейти к следующей странице] (http://stackoverflow.com/questions/871858/php-pass-variable-to-next-page) – outis

ответ

1

Существует несколько вариантов. Однако проще всего просто передать данные по использованию скрытых полей ввода.

Другие варианты: использование сеанса, хранение базы данных между формами или некоторая комбинация в ней.

1

Если вы собираетесь использовать POST для перехода на следующую страницу, самым простым вариантом является включение данных, которые вы хотите отправить, используя элемент ввода = «скрытый» элемент в вашей форме.

0

Вы можете вставлять данные неформы в вторую форму в виде скрытых полей. Чтобы убедиться в том, что он также передается в ссылке, вы можете просто добавить его в URL в виде строки запроса, например:

http://..../blah.php?var1=val1&var2=val2

до тех пор, как данные вы передаете может поместиться в URL , Обязательно укажите urlencode() все, что вы добавляете к URL-адресу.

1

Возможно, вы захотите использовать сеанс для передачи данных.

2

Я настоятельно рекомендую использовать сеансы. Это не так сложно узнать, php делает его ОЧЕНЬ легким, используя http://php.net/session_start и переменную $_SESSION. Преимущество в том, что вам не нужно будет отправлять форму на каждый клик, и никакая информация не будет отображаться простым текстом в URL-адресе.

+0

Это хорошо (или, может быть, даже лучшее) решение, если ваше приложение больше, чем серия форм. –

0
<?php 

start_session(); 

$_SESSION['Foo'] = 'Bar' // Add stuff here. 

?> 
Смежные вопросы