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