Скажем, у меня есть форма на домашней странице моего сайта: www.mysite.com
Теперь тег формы выглядит так:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
...
</form>
Когда эта форма подает, она делает все, что она допускает. Но он также перезагружает страницу с полным именем файла и расширением. Таким образом, пользователь теперь найдет URL-адрес в адресной строке: www.mysite/index.php
Есть ли способ сделать огонь формы на той же странице без добавления этого расширения?
Могут быть ситуации, когда форма является вложенным в нижний колонтитул, поэтому я не могу быть конкретным относительно страницы, на которую должна стрелять форма, а также код PHP_SELF
.
Это потому, что $_SERVER['PHP_SELF']
ссылается на фактическое имя файла текущего скрипта.
Попробуй это:
<form action="" method="post">
Пустое action
будет возвращено к текущему URL-адресу.
Попробуйте установить action
на #
:
<form action="#" method="post">
...
</form>
#
Ссылается на текущую страницу.
Попробуйте изменить действие на #, этот пост на текущую страницу.
Изменение: Майк избил меня.
Изменить 2: похоже, вы можете оставить действие вместе, и оно будет по умолчанию на той же странице.
Редактировать 3: Майк избил меня и к этому.
<base>
.