| imho.ws |
![]() |
|
|
|
# 1 |
|
Full Member
Регистрация: 19.12.2003
Адрес: Москва
Пол: Male
Сообщения: 514
![]() ![]() ![]() |
Снова Php: работа с формами.
1. При нажатии кнопки <input type=submit ...> происходит переход по дикому адресу вида httр://.../что-то.php?msg= и дальше длиннющая строка, в основном из процентиков и чисел, т.к. тект засабмиттил русский. И вся эта длиннющая строка отображается в строке адреса. Можно ли этого избежать? Разумеется, чтобы данные всё же передавались
![]() 2. Всё в той же формочке, после нажатия submit грузится та же самая форма, но уже содержащая обновлённые данные. Предположим, я что-то меняю извне скрипта (нехорошо, знаю, но бывает надо ). Хочется обновить. Жму F5... Ага, а адрес-то содержит всякие поля дополнительные, и скрипт считает, что надо снова сделать те же действия, что и при нажатии submit'а. Что не есть хорошо, ибо вместо обновления экрана я получаю просто-напросто откат моих изменений Тот же вопрос: что делать? Пока что повесил доп. ссылку "Обновить страницу", ссылающуюся на сам скрипт без всяких submit'ов, но это как-то некрасиво...
|
|
|
|
|
# 3 | |
|
::VIP::
шайтан-башка Регистрация: 31.03.2003
Адрес: imho.ws
Тюменское отделение
Сообщения: 1 902
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
.
|
|
|
|
|
|
# 5 |
|
Full Member
Регистрация: 19.12.2003
Адрес: Москва
Пол: Male
Сообщения: 514
![]() ![]() ![]() |
ivahaev
Никто ничего не спрашивает, просто отсылает Я Оперу юзаю, может из-за этого...ГеныЧ В смысле, в скрипте писать не $txt=$_GET['msg'], а $txt=$_POST['msg']? Такое не прокатывает... isset($_POST['msg'])==false. Добавлено: Пока писал, не видел сообщения от SamJa... Кажись, понял... Имелось в виду, сделать так? <form action=admin.php method=\"post\" ... Ещё добавлено: Отлично, сработало! Спасибо! С меня плюсик ![]() Тогда остаётся второй вопрос: как избежать повторного внесения изменений при обновлении страницы? Последний раз редактировалось CaptainFlint; 08.06.2004 в 16:41. |
|
|
|
|
# 6 |
|
Full Member
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
правильно понял
![]() Если я правильно понял, форма переходин на свою страницу. То есть таже страница загружается снова. Тогда делаеш ещё одну переменную, добавляеш её на форму в спрятанный элемент. Или можно просто проверять передан ли какой-то параметр. Примерно так: if (!$var1) { //esli peremennie nebili peredani } else { //esli peredani } А вообще, я немного недогнал как у тебя это сделано. Проще будет сделать два разных php файла. Тогда при обновлении всё должно остаться. |
|
|
|
|
# 7 |
|
Full Member
Регистрация: 19.12.2003
Адрес: Москва
Пол: Male
Сообщения: 514
![]() ![]() ![]() |
SamJa
Тут не совсем то... Сейчас опишу поподробнее. Сам скрипт в целом выглядит примерно так: PHP код:
Т.о., если скрипт запущен сам по себе, то просто отображается форма с текстом из файла. Если же он был вызван через POST, то новый текст сохраняется в файл, и рисуется та же форма с уже модифицированным текстом. В этом втором случае если я жму F5, то происходит то же самое, как если бы я нажал "Сохранить". Последний раз редактировалось CaptainFlint; 08.06.2004 в 17:22. |
|
|
|
|
# 8 |
|
Full Member
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ну правильно. Если скрипт пишет в файл, нажатием F5 ты его запускаеш снова и он соответственно пишет по второму кругу.
Я всегда делаю отдельные скрипты для записи и просмотра. Скрипт для записи ничего не выводит (если только нет ошибок) и перенаправляет броузер на скрипт просмотра. Тогда можеш обновлять сколько хочеш. |
|
|