Jump to content
СофтФорум - всё о компьютерах и не только

$_POST[] ?


Recommended Posts

Значит есть форма:

<form action="" method="POST"><input type=text name="text"><br><input type=submit value="Жми "><br></form>

На этой же странице пхпкод:

<?$text=$_POST['text'];echo $text;?>

Все просто, по форме мы отправляем данные, и принимаем в пост[текст], а затем и в перемунную $text с последующим её выведением.все работает, данные выводятся.

Вопрос в том, что почему после обновления страницы, т.е. мы например ввели "123", нажали "Жми", получили на странице свое "123",обновили(f5), это "123" схраняется на странице?

Вроде как потому что "123" сохраняется в глабольной переменно пост и затем снова выводится(если я правильно думаю).

Но! если мы сразу же забьем в глобальную переменную пост[текст] и саму переменную $текст другие значения, мы же какбы должны будем изменить глобальную переменную, а соответственно и переменную $текст. Т.е. если добавив:

<form action="" method="POST"><input type=text name="text"><br><input type=submit value="Жми "><br></form><?$text=$_POST['text'];  //получилиecho $text;				 // вывели$_POST['text']="fff"; $text="ggg";  //изменилиecho '<br>';echo $_POST['text'], $text;	 //вывели?>

При последующем обновлением страницы данные(ничего не вводя), отправленные впервый раз сохраняются. т.е. Выдает такой результат:

123

fffggg

Почему сохраяется "123"? Ведь вконце кода $пост[текст] и $текст изменяются, а при обновление соответсвтенно должен вроде как быть другой уже результат, точнее должно быть уже:

fffggg

fffggg

Думаю у меня уже тупка :doh: , поэтому объясните пожалуйста)

Link to comment
Share on other sites

Гм... А проверка корректности введённых символов хоть как-то делалась?

Оффтоп
А то ж ей-Богу (не в обиду будь сказано), какие-то сомнения возникают, глядючи на грамотность даже и русскоязычного текста в посте...
Link to comment
Share on other sites

Гм... А проверка корректности введённых символов хоть как-то делалась?

Оффтоп
А то ж ей-Богу (не в обиду будь сказано), какие-то сомнения возникают, глядючи на грамотность даже и русскоязычного текста в посте...

Ну вот так и знал что придерутся))))

Писал, думал будет понятно, ну сорри че)

Если посмотреть на код, то там правильно)

А комменты (т.е. то что не в коде) я писал более свободно..

Ну так что думаете?

Или я чего не понял?

Link to comment
Share on other sites

комменты (т.е. то что не в коде) я писал более свободно
Может быть, косяк тут и кроется? Мало ли как PHP реагирует на "свободные комментарии"?

P.S. То была не придирка вовсе... Попросту, не имея привычки перед публикацией вычитывать написанное, вполне можно допустить, что и в коде нечто закралось... Буквально сегодня видел где-то в темах похожую проблемку из-за того, что тире было другое...

Link to comment
Share on other sites

Может быть, косяк тут и кроется? Мало ли как PHP реагирует на "свободные комментарии"?

Вы издеваетесь?) У меня же вопрос был о том, что почему переменная $_POST['text'] сохраняет свое значение, ведь его меняем, а затем обновляем страницу....а он предыдущее значение так и выдает..

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

Или вам не понравились о том, как я о $_POST['text'] отзывался как $пост['текст'] ?)

Link to comment
Share on other sites

При обновлении страницы браузер заново пересылает форму.

ага, но только откуда он, так сказать, снова посылает данные, где вообще они хранятся?

Ведь браузер получается запоминает, то что было отправлено в прошлый раз...вопрос где, если не только в $_POST-е хранится прошлый запрос?)

Надеюсь правильно поставил вопрос)

Link to comment
Share on other sites

Да, браузер, так сказать, кеширует на сеанс работы заполненные формы, чтобы при обновлении страницы или использовании кнопок "назад" и "вперед" в браузере, пользователь получил ту же самую страницу. В противном случае скрипт не получит необходимых данных запроса и отдаст браузеру другую страницу, не ту которую ожидает увидеть пользователь. В переменной $_POST прошлый запрос не хранится, скрипт при запуске не имеет данных о своем прошлом запуске и состоянии переменных, если они не были специально сохранены (в БД или файл) и считаны при новом запуске.

Link to comment
Share on other sites

Да, браузер, так сказать, кеширует на сеанс работы заполненные формы, чтобы при обновлении страницы или использовании кнопок "назад" и "вперед" в браузере, пользователь получил ту же самую страницу. В противном случае скрипт не получит необходимых данных запроса и отдаст браузеру другую страницу, не ту которую ожидает увидеть пользователь. В переменной $_POST прошлый запрос не хранится, скрипт при запуске не имеет данных о своем прошлом запуске и состоянии переменных, если они не были специально сохранены (в БД или файл) и считаны при новом запуске.

спасибо, вроде теперь понятнее)

Link to comment
Share on other sites

PriN_ce:

Чтобы отобразить эту страницу, Firefox должен отправить информацию, которая повторит любое ранее произведённое действие (например, запрос на поиск или онлайн-покупка).

Лиса при обновлении страницы информирует даже :doh:

Чтобы не флудили обновление страницы (если этот $_POST что то записывает или шлет на мыло), проще всего отредиректить куда нить следом

Link to comment
Share on other sites

PriN_ce:

Чтобы отобразить эту страницу, Firefox должен отправить информацию, которая повторит любое ранее произведённое действие (например, запрос на поиск или онлайн-покупка).

Лиса при обновлении страницы информирует даже :blush2:

Чтобы не флудили обновление страницы (если этот $_POST что то записывает или шлет на мыло), проще всего отредиректить куда нить следом

ну да, или капча спасает :)

Спасибо)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...