一尘不染

为什么使用$ _SERVER ['PHP_SELF']代替“”

php

在PHP页面上的表单中,可以使用:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" ...>

要么

<form action="#" ...>

要么

<form action="" ...>

在表单的动作属性中。由于echo
$_SERVER['PHP_SELF']不会传递要使用的变量,GET而您必须使用"",为什么还要使用它"#"呢?

我问是因为我花了一些时间才弄清楚这些变量没有随传递$_SERVER['PHP_SELF']。谢谢。


阅读 207

收藏
2020-05-26

共1个答案

一尘不染

action属性将默认为当前URL。这是“将表格提交到它来自的地方的最可靠,最简单的方法”。

没有理由使用$_SERVER['PHP_SELF'],并且#根本不提交表单(除非submit附加了事件处理程序来处理提交)。

2020-05-26