2013-07-24 188 views
1

尝试提交此表单时,我总是收到404错误。在我的网站目录中,我有一个名为mobile的文件夹,里面有forms.phpprocess.php提交表单时出现404错误

窗体位于此页面

http://localhost/mobile/forms.php?ft=0&id=2 

这里是形式

<form action='/mobile/process.php?o=9&ft=0' method='POST'> 
//details 
</form> 

当我尝试提交我得到一个404错误,当它应该去http://localhost/mobile/process.php?o=9&ft=0?我该如何解决?

+5

如果它没有去'HTTP://localhost/mobile/process.php O = 9英尺= 0',哪里*它*去?服务器日志说什么?如果您手动访问网址,您会得到什么? – Quentin

+0

我得到一个404错误是我手动去网址? – user892134

+2

直接在浏览器URL字段中输入“http://localhost/mobile/process.php?o = 9&ft = 0”时会发生什么? – Sablefoste

回答

2

通过查看URL就是我的结论是,无论是PHP文件是在同一页上,因此mobile之前,从

<form action='/mobile/process.php?o=9&ft=0' method='POST'> 

<form action='process.php?o=9&ft=0' method='POST'> 

正斜杠改变你的行动网址意味着它从根目录选择文件夹。所以你可能不需要这里。

最后但并非最不重要的一点是,确保文件名是正确的,并确保案例相同,因为文件名是区分大小写的。

注:如果您在表单处理页面上使用header('Location: xyz.php');,表单处理后,将用户重定向到 一些页面,您还可以得到404错误,你可能会遇到404因为 网页上的脚本已重定向不存在。所以一定要确保 URL是正确的,如果你正在使用header()

+0

我试过这个,我仍然得到一个404错误? process.php位于移动文件夹中。 – user892134

+0

@ user892134这两个文件都在同一个文件夹中? –

+0

是的。我不知道为什么这不起作用? – user892134

0

尝试改变

<form action='/mobile/process.php?o=9&ft=0' method='POST'> 

<form action='process.php?o=9&ft=0' method='POST'> 

由于他们是在同一个目录。

+0

你可以在这样的动作中有参数。这是一个有效的网址。他正在尝试发送* GET和POST值。 –

+1

谁说你不能在URL中传递参数? –

+0

对不起,我在想POST。对不起这是我的错!编辑答案 –

-1

你不可错过的形式作用GET参数。

为了传递参数,你必须创建一个像隐藏输入:

<input type="hidden" name="o"> 
+0

我很确定你*可以*通过这样做发送GET和POST。 –

+2

您可以在表单动作中传递GET参数。即使你不能,它也不会给你一个404. –

+1

你可以在操作字段中传递一个GET参数。我经常和'POST'方法结合使用。 – Sablefoste