表单操作将我带到基本URL

时间:2011-01-26 23:06:05

标签: php forms action

我有一张表格:

<form name='inputform' method='post' action='fruit.php?action=add&fruit_id=5' enctype='multipart/form-data'>

但是在提交之后,我只需要fruit.php而没有额外的详细信息(&action=add&fruit_id=5

我认为这就是动作有用的方式,但是可以采用所述的实际URL吗?

我希望我已经足够彻底地描述它,以便你理解我想要的东西。

5 个答案:

答案 0 :(得分:1)

不幸的是,这是一个跨浏览器问题。有些浏览器最后删除了查询字符串。 最好的办法是将那些变量action和fruit_id添加为input type = hidden

<form method="post" action="fruit.php">
    <input name="action" type="hidden" value="add">
    <input name="fruit_id" type="hidden" value="5">
</form>

不要忘记考虑fruit.php应该读取$ _POST而不是$ _GET来获取水果ID和动作。

答案 1 :(得分:1)

您的操作字符串中存在语法错误。 网址格式不正确。

应该是

<form name='inputform' method='post' action='fruit.php?action=add&fruit_id=5' enctype='multipart/form-data'>

答案 2 :(得分:0)

您可以通过在表单上放置隐藏的输入字段来替换查询字符串中的值(action = add和fruit_id = 5)。

我有点惊讶它将查询字符串从操作中删除。我以前从未尝试过,但它可能只是标准的浏览器行为。

HTH

答案 3 :(得分:0)

更好的方法是将这些参数作为隐藏值放在表单中,并将表单作为POST提交:

<form name="inputform" method="post" action="fruit.php" enctype='multipart/form-data'>
    <input name="action" type="hidden" value="add" />
    <input name="fruit_id" type="hidden" value="5" />
</form>

请注意,只有将文件上传到服务器时,enctype ='multipart / form-data'才可用。

答案 4 :(得分:0)

检查您的操作按钮使用的代码(即您是否意外将不需要的javascript粘贴到该按钮中?)。

一个简单的测试,看看您的按钮操作是否干扰了表单的操作是在表单中的文本框内按Enter键,这可能会忽略您的按钮用于提交表单的任何脚本。