2013-07-24 5 views
1

При попытке отправить эту форму я все время получаю ошибку 404. В моем каталоге сайта у меня есть папка с именем mobile, внутри которой есть forms.php и process.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', где *. * It Go? Что говорят серверные журналы? Что вы получите, если перейдете к URL-адресу вручную? – Quentin

+0

Я получаю ошибку 404: я забираю URL вручную? – user892134

+2

Что происходит, когда вы вводите 'http: //localhost/mobile/process.php? O = 9 & ft = 0' прямо в поле URL-адреса браузера? – Sablefoste

ответ

2

Глядя на URL, что я вывод о том, что и PHP файлы находятся на одной и той же странице, чтобы изменить URL действия от

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

К

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

А косую черту перед mobile означает, что он выбирает папку из корня. Поэтому вам, вероятно, это не нужно.

Последнее, но не менее важное: убедитесь, что имена файлов являются правильными, а также убедитесь, что случаи одинаковы, поскольку имена файлов чувствительны к регистру.

Примечание: Вы также можете получить сообщение об ошибке 404, если вы используете header('Location: xyz.php'); на странице обработки формы для перенаправления пользователя на определенной страницы после процессов формы, и вы можете столкнуться 404 потому страницу, на которой скрипт перенаправлено не существует. поэтому убедитесь , что URL является правильным, если вы используете header()

+0

Я попробовал это, и я все еще получаю ошибку 404? Файл process.php находится в папке для мобильных устройств. – user892134

+0

@ user892134 оба файла находятся в одной папке? –

+0

есть. Я понятия не имею, почему это не работает? – user892134

0

Try изменения

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

в

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

Поскольку они находятся в том же каталоге.

+0

У вас могут быть параметры в этом действии. Это действительный URL. Он пытается отправить * значения * GET и POST. –

+1

Кто сказал, что вы не можете передать параметры в URL-адресе? –

+0

О, извините, я думал о POST. Извини, я виноват! Отредактировал ответ –

-1

Вы не можете передать параметр GET в виде действия.

Для передачи параметров, вы должны создать скрытый вход, как:

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

Я уверен, что вы * можете * отправить GET и POST, сделав это. –

+2

Вы можете передать параметры GET в действие формы. И даже если бы вы не могли, это не дало бы вам 404. –

+1

Вы можете передать параметр «GET» в поле действия. Я часто делаю это в сочетании с методом «POST». – Sablefoste

Смежные вопросы