storng
Новичок
Не могу избавиться от переменных в GET
Есть скрипт, который формирует html-страницу в зависимости от условий
Действие скрипта – изменение названия категории новости при нажатии на ссылку (в которой в качестве get параметра передаётся id категории и режим (в данном случае mode=rename)
1. При нажатии на ссылку, я открываю этот же скрипт и считываю параметры и формирую страницу ввода нового имени и кнопки (ren) отправки данных этому же скрипту методом POST.
2. Так же в начале скрипта я проверяю если передан режим то запускаю запрос к БД на переименование
Но тут возник вопрос.
Когда я снова обращаюсь к скрипту (этап 2) для проверки режима – в строке браузера всё-равно передаются значения get
category.php?mode=rename&id_cat=11
Странно, но ведь я не передавал значения get через форму, а эти значения у меня висят с этапа 1 (когда формировалась страница для ввода нового имени). Почему так ?
И ещё удивительно, удалить значение mode из массива get я не могу!
Пишу вот так в функции вывода окна для ввода нового имени:
Действительно удаляет (проверял print_r’ом)
Но при клике по кнопке отправки (метод POST) вызывается этот же скипт и в строке браузера мы снова видим category.php?mode=rename&id_cat=11
Т..е. снова в get есть mode=ren
Как это убрать ,можно ли ?
-~{}~ 29.08.07 10:27:
Вот подробности.
В самом начале я выдаю список категорий ( из БД) и рядом колонка с такими ссылками
В начале скрипта я проверяю режим и если он rename то я генерирую окно для ввода нового имени:
Вот сама функция для отображения окна для ввода нового имени категории:
Ну и снова в начале скрипта условие,
Вот собственно на всех этапах передаётся в GET mode=rename
И ни как не удаляется
Есть скрипт, который формирует html-страницу в зависимости от условий
Действие скрипта – изменение названия категории новости при нажатии на ссылку (в которой в качестве get параметра передаётся id категории и режим (в данном случае mode=rename)
1. При нажатии на ссылку, я открываю этот же скрипт и считываю параметры и формирую страницу ввода нового имени и кнопки (ren) отправки данных этому же скрипту методом POST.
2. Так же в начале скрипта я проверяю если передан режим то запускаю запрос к БД на переименование
PHP:
if (isset($_POST['ren']))
Когда я снова обращаюсь к скрипту (этап 2) для проверки режима – в строке браузера всё-равно передаются значения get
category.php?mode=rename&id_cat=11
Странно, но ведь я не передавал значения get через форму, а эти значения у меня висят с этапа 1 (когда формировалась страница для ввода нового имени). Почему так ?
И ещё удивительно, удалить значение mode из массива get я не могу!
Пишу вот так в функции вывода окна для ввода нового имени:
PHP:
unset($_GET['mode']);
Но при клике по кнопке отправки (метод POST) вызывается этот же скипт и в строке браузера мы снова видим category.php?mode=rename&id_cat=11
Т..е. снова в get есть mode=ren
Как это убрать ,можно ли ?
-~{}~ 29.08.07 10:27:
Вот подробности.
В самом начале я выдаю список категорий ( из БД) и рядом колонка с такими ссылками
PHP:
<a href=\"category.php mode=rename&id_cat=$id_categ\">Rename</a>";
PHP:
elseif (isset($_GET['mode']))
{
if ($_GET['mode']=='rename')
{
show_form_cat_for_rename();
}
}
PHP:
function show_form_cat_for_rename()
{
unset($_GET['mode']);
echo "
<form action=\"\" method=\"POST\">
Категория<br><input type=\"text\" name=\"new_name\" size=\"100\" maxlength=\"100\"
value=\"введите новое имя\"><br><br>
<input type=\"submit\" name=\"ren\" value=\"Создать\">
</form>";
}
PHP:
elseif (isset($_POST['ren']))
{
rename_category($_GET['id_cat'],$_POST['new_name']);
}
Вот собственно на всех этапах передаётся в GET mode=rename
И ни как не удаляется
