php表单动作php自我

Sas*_*u H 24 php forms action

我有一个像这样的PHP表单.

<form name="form1" id="mainForm" method="post"enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">

</form
Run Code Online (Sandbox Code Playgroud)

在表单操作中,我想使用带有参数的页面名称.喜欢house.php?p_id=10111.但$ _SERVER ['PHP_SELF']只给出house.php(我的页面完整网址是house.php?p_id=10111这样的)请帮我解决这个问题.谢谢.

She*_*hef 77

如何将它留空,这有什么问题?

<form name="form1" id="mainForm" method="post" enctype="multipart/form-data" action="">

</form>
Run Code Online (Sandbox Code Playgroud)

此外,您可以省略action属性,它将按预期工作.

  • 将它留空,打破w3c验证(如果你关心的话) (12认同)
  • @jBaron是的,在HTML5中就是这种情况,但你可以完全省略空的`action =""`属性.它将按预期验证和工作. (10认同)
  • @Avnishalok只要有人在提交后刷新页面,浏览器就会始终发出警报.提交是在不同的页面还是在同一页面上并不重要. (2认同)

sha*_*ggy 15

您可以将操作留空或使用此代码:

<form name="form1" id="mainForm" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI'];?>">
</form>
Run Code Online (Sandbox Code Playgroud)


Mat*_*son 8

将操作值保留为空将导致表单回发给自己.


jos*_*kah 5

您也可以使用echo快捷方式,而不用键入“ echo blah”。如下所示:

<form method="POST" action="<?=($_SERVER['PHP_SELF'])?>">
Run Code Online (Sandbox Code Playgroud)

  • 这允许XSS攻击,您需要过滤/清理PHP_SELF (2认同)