Php 表单中的查询字符串无效

Php 表单中的查询字符串无效,php,forms,query-string,Php,Forms,Query String,我的form.php文件中有以下表单: <form action="operation.php?part=dictionary&operation=<?php echo (($_GET['action']=='addword')?'save':'edit&id='.$_GET['id'])?>" method="get"> ..... .... </form> if($_GET['operation']=='save'){ e

我的form.php文件中有以下表单:

<form action="operation.php?part=dictionary&operation=<?php echo (($_GET['action']=='addword')?'save':'edit&id='.$_GET['id'])?>" method="get">
.....
....
</form>
if($_GET['operation']=='save'){
        echo "This is true";
    }else{
        die(mysql_error());
    }
并显示不识别操作参数的信息。 因此,如果有人知道如何区分“保存”和“编辑”操作,我们将不胜感激。谢谢您

您可以尝试使用:

<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>

您可以尝试使用:

<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>


您需要使用隐藏参数向表单提交值,如下所示:

<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>


您需要使用隐藏参数向表单提交值,如下所示:

<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>


将窗体的方法设置为“GET”会导致忽略添加到窗体操作中的所有GET参数。为了让这些参数发挥作用,您必须将它们添加为隐藏的输入字段,否则您将表单的方法切换为“POST”。这将导致根据表单字段设置POST参数,并根据表单操作中添加的链接设置GET参数。

将表单的方法设置为“GET”将导致忽略添加到表单操作中的所有GET参数。为了让这些参数发挥作用,您必须将它们添加为隐藏的输入字段,否则您将表单的方法切换为“POST”。这将导致根据表单字段设置POST参数,并根据表单操作中添加的链接设置GET参数。

是否有执行GET vs POST?XSS报警的原因<代码>$\u GET['id']
应该是
htmlspecialchars($\u GET['id'])
。编辑:如果不强制转换为int和urlencoded。mysql_错误()的原因是什么?
您执行GET vs POST?XSS报警的原因是什么<代码>$\u GET['id']
应该是
htmlspecialchars($\u GET['id'])
。编辑:如果不强制转换为int和urlencoded。mysql\u错误()的原因是什么??