Строка запроса в форме не работает - PullRequest
0 голосов
/ 07 октября 2011

В моем файле form.php есть следующая форма:

<form action="operation.php?part=dictionary&operation=<?php echo (($_GET['action']=='addword')?'save':'edit&id='.$_GET['id'])?>" method="get">
.....
....
</form>

И в моем файле operation.php:

if($_GET['operation']=='save'){
        echo "This is true";
    }else{
        die(mysql_error());
    }

И показывает сообщение о том, что не распознает параметр операции. Так что, если у кого-то есть представление о том, как отличить операцию между сохранением и редактированием, было бы очень полезно. Спасибо тебе

Ответы [ 3 ]

2 голосов
/ 07 октября 2011

Установка метода формы на «GET» приводит к игнорированию всех GET-параметров, добавленных к действию формы. Чтобы эти параметры работали, вам нужно будет добавить их в качестве скрытых полей ввода, в противном случае вы переключаете метод формы на «POST». Это приводит к настройке POST-параметра в соответствии с полями формы и установке GET-параметра в соответствии с добавлениями ссылок, сделанными при действии формы.

2 голосов
/ 07 октября 2011

Вы можете попробовать использовать:

<form action="operation.php" method="get">
    <input type="hidden" name="part" value="dictionary">
    <input type="hidden" name="operation" value="<?php echo (($_GET['action']=='addword')?'save':'edit&id='.$_GET['id'])?>">
</form>
1 голос
/ 07 октября 2011

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

<form action="operation.php" method="GET">
    <input type="hidden" name="part" value="dictionary" />
    <input type="hidden" name="operation" value="<?php echo (($_GET['action']=='addword')?'save':'edit&id='.$_GET['id'])?>" />
</form>
...