PriN_ce Posted January 10, 2010 Report Share Posted January 10, 2010 Значит есть форма: <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: , поэтому объясните пожалуйста) Quote Link to comment Share on other sites More sharing options...
Yezhishe Posted January 10, 2010 Report Share Posted January 10, 2010 Гм... А проверка корректности введённых символов хоть как-то делалась? Оффтоп А то ж ей-Богу (не в обиду будь сказано), какие-то сомнения возникают, глядючи на грамотность даже и русскоязычного текста в посте... Quote Link to comment Share on other sites More sharing options...
PriN_ce Posted January 10, 2010 Author Report Share Posted January 10, 2010 Гм... А проверка корректности введённых символов хоть как-то делалась? Оффтоп А то ж ей-Богу (не в обиду будь сказано), какие-то сомнения возникают, глядючи на грамотность даже и русскоязычного текста в посте... Ну вот так и знал что придерутся)))) Писал, думал будет понятно, ну сорри че) Если посмотреть на код, то там правильно) А комменты (т.е. то что не в коде) я писал более свободно.. Ну так что думаете? Или я чего не понял? Quote Link to comment Share on other sites More sharing options...
Yezhishe Posted January 10, 2010 Report Share Posted January 10, 2010 комменты (т.е. то что не в коде) я писал более свободноМожет быть, косяк тут и кроется? Мало ли как PHP реагирует на "свободные комментарии"?P.S. То была не придирка вовсе... Попросту, не имея привычки перед публикацией вычитывать написанное, вполне можно допустить, что и в коде нечто закралось... Буквально сегодня видел где-то в темах похожую проблемку из-за того, что тире было другое... Quote Link to comment Share on other sites More sharing options...
PriN_ce Posted January 10, 2010 Author Report Share Posted January 10, 2010 Может быть, косяк тут и кроется? Мало ли как PHP реагирует на "свободные комментарии"? Вы издеваетесь?) У меня же вопрос был о том, что почему переменная $_POST['text'] сохраняет свое значение, ведь его меняем, а затем обновляем страницу....а он предыдущее значение так и выдает.. Вы код смотрели? Там же всё норм, или тогда уж ткните пальцем, т.к. я не оч понимаю к чему была фраза... Или вам не понравились о том, как я о $_POST['text'] отзывался как $пост['текст'] ?) Quote Link to comment Share on other sites More sharing options...
gvozd Posted January 11, 2010 Report Share Posted January 11, 2010 При обновлении страницы браузер заново пересылает форму. Quote Link to comment Share on other sites More sharing options...
PriN_ce Posted January 11, 2010 Author Report Share Posted January 11, 2010 При обновлении страницы браузер заново пересылает форму. ага, но только откуда он, так сказать, снова посылает данные, где вообще они хранятся? Ведь браузер получается запоминает, то что было отправлено в прошлый раз...вопрос где, если не только в $_POST-е хранится прошлый запрос?) Надеюсь правильно поставил вопрос) Quote Link to comment Share on other sites More sharing options...
gvozd Posted January 11, 2010 Report Share Posted January 11, 2010 Да, браузер, так сказать, кеширует на сеанс работы заполненные формы, чтобы при обновлении страницы или использовании кнопок "назад" и "вперед" в браузере, пользователь получил ту же самую страницу. В противном случае скрипт не получит необходимых данных запроса и отдаст браузеру другую страницу, не ту которую ожидает увидеть пользователь. В переменной $_POST прошлый запрос не хранится, скрипт при запуске не имеет данных о своем прошлом запуске и состоянии переменных, если они не были специально сохранены (в БД или файл) и считаны при новом запуске. Quote Link to comment Share on other sites More sharing options...
PriN_ce Posted January 13, 2010 Author Report Share Posted January 13, 2010 Да, браузер, так сказать, кеширует на сеанс работы заполненные формы, чтобы при обновлении страницы или использовании кнопок "назад" и "вперед" в браузере, пользователь получил ту же самую страницу. В противном случае скрипт не получит необходимых данных запроса и отдаст браузеру другую страницу, не ту которую ожидает увидеть пользователь. В переменной $_POST прошлый запрос не хранится, скрипт при запуске не имеет данных о своем прошлом запуске и состоянии переменных, если они не были специально сохранены (в БД или файл) и считаны при новом запуске. спасибо, вроде теперь понятнее) Quote Link to comment Share on other sites More sharing options...
Alexander-V-Sh Posted January 18, 2010 Report Share Posted January 18, 2010 PriN_ce: Чтобы отобразить эту страницу, Firefox должен отправить информацию, которая повторит любое ранее произведённое действие (например, запрос на поиск или онлайн-покупка). Лиса при обновлении страницы информирует даже :doh: Чтобы не флудили обновление страницы (если этот $_POST что то записывает или шлет на мыло), проще всего отредиректить куда нить следом Quote Link to comment Share on other sites More sharing options...
PriN_ce Posted January 19, 2010 Author Report Share Posted January 19, 2010 PriN_ce: Чтобы отобразить эту страницу, Firefox должен отправить информацию, которая повторит любое ранее произведённое действие (например, запрос на поиск или онлайн-покупка). Лиса при обновлении страницы информирует даже :blush2: Чтобы не флудили обновление страницы (если этот $_POST что то записывает или шлет на мыло), проще всего отредиректить куда нить следом ну да, или капча спасает :) Спасибо) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.