Подтвердить что ты не робот

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 как это) Пожалуйста, помогите мне решить эту проблему. спасибо.

4b9b3361

Ответ 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

Если вы хотите быть в безопасности, используйте это:

">