Php form action php self
У меня такая php-форма.
<form name="form1" id="mainForm" method="post"enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">
</form
В действии формы я хочу использовать имя страницы с параметрами. как house.php?p_id=10111
. Но $_SERVER ['PHP_SELF'] дает только house.php
(мой полный URL-адрес страницы house.php?p_id=10111
как это) Пожалуйста, помогите мне решить эту проблему. спасибо.
Ответы
Ответ 1
Как насчет того, чтобы оставить его пустым, что с этим не так?
<form name="form1" id="mainForm" method="post" enctype="multipart/form-data" action="">
</form>
Кроме того, вы можете опустить атрибут action, и он будет работать как ожидалось.
Ответ 2
Вы можете оставить действие пустым или использовать этот код:
<form name="form1" id="mainForm" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI'];?>">
</form>
Ответ 3
Если оставить значение действия пустым, это приведет к тому, что форма будет отправлена обратно.
Ответ 4
Вы также можете использовать ярлык эха вместо того, чтобы печатать "echo blah"; как показано ниже:
<form method="POST" action="<?=($_SERVER['PHP_SELF'])?>">
Ответ 5
Это прекрасно. попробуйте следующее:)
<form name="test" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
/* Html Input Fields */
</form>
Ответ 6
Другой (и, по моему мнению, правильный) метод использует константу __FILE__
, если вам не нравится полагаться на переменные $_SERVER
.
$parts = explode(DIRECTORY_SEPARATOR, __FILE__);
$fileName = end($parts);
echo $fileName;
О магии и предопределенных константах: 1, 2.
Ответ 7
Если вы хотите быть в безопасности, используйте это:
">