Расширение файла добавлено после отправки формы

0

Скажем, у меня есть форма на домашней странице моего сайта: www.mysite.com

Теперь тег формы выглядит так:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
...
</form>

Когда эта форма подает, она делает все, что она допускает. Но он также перезагружает страницу с полным именем файла и расширением. Таким образом, пользователь теперь найдет URL-адрес в адресной строке: www.mysite/index.php

Есть ли способ сделать огонь формы на той же странице без добавления этого расширения?

Могут быть ситуации, когда форма является вложенным в нижний колонтитул, поэтому я не могу быть конкретным относительно страницы, на которую должна стрелять форма, а также код PHP_SELF.

Теги:

3 ответа

3
Лучший ответ

Это потому, что $_SERVER['PHP_SELF'] ссылается на фактическое имя файла текущего скрипта.

Попробуй это:

<form action="" method="post">

Пустое action будет возвращено к текущему URL-адресу.

  • 0
    Ах да. Я где-то слышал, что использование базового тега HTML может все испортить. Это правда?
  • 0
    Понятия не имею. Я так не думаю, но я действительно не могу сказать, так как я никогда не использовал теги <base> .
Показать ещё 1 комментарий
2

Попробуйте установить action на #:

<form action="#" method="post">
...
</form>

# Ссылается на текущую страницу.

  • 0
    Есть ли причина, по которой следует использовать хэштег вместо того, чтобы оставлять его пустым?
  • 0
    Я действительно ненавижу оставлять вещи пустыми, лично, потому что это похоже на упущение, или как я хотел вернуться, тогда как наличие персонажа ясно показывает, что я хотел, чтобы это было именно так.
Показать ещё 2 комментария
1

Попробуйте изменить действие на #, этот пост на текущую страницу.

Изменение: Майк избил меня.

Изменить 2: похоже, вы можете оставить действие вместе, и оно будет по умолчанию на той же странице.

Редактировать 3: Майк избил меня и к этому.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню