可以使用PHP将表单提交到网页本身。向 self 提交表单的主要目的是进行数据验证。数据验证意味着检查要在表单字段中输入的所需数据。
PHP_SELF是一个变量,它返回当前正在执行的脚本。您可以在表单的操作字段中使用此变量。当用户按下提交按钮时,表单的操作字段指示在哪里提交表单数据。大多数PHP页面在与表单本身相同的页面上维护数据验证。
这样做的一个好处是在网站结构发生变化的情况下,表单的数据验证代码和表单保持在一起。
代码片段:
解释:
- $_SERVER[‘PHP_SELF’]: $_SERVER[“PHP_SELF”]是一个超级全局变量,它返回当前正在执行的脚本的文件名。它将提交的表单数据发送到同一页面,而不是跳转到不同的页面。
- htmlspecialcharacters(): htmlspecialchars()函数将特殊字符转换为 HTML 实体。它将用 < 和 > 替换 HTML字符。这可以防止攻击者通过在表单字段中插入 HTML 或 Javascript 代码来利用代码进行脚本攻击。
注意: $_SERVER[‘PHP_SELF’] 可以很容易地被黑客利用跨站脚本通过在 URL 中插入一个“/”然后一个易受攻击的脚本来利用,但是htmlspecialcharacters()是解决方案,它将 HTML字符从网站变成无害的冗余代码。
下面的例子说明了上述方法:
例子:
PHP Form Example: GFG Review
Your Input:";
echo $name;
echo "
";
echo $email;
echo "
";
echo $review;
echo "
";
echo $level;
?>
输出:
- 提交前:
- 提交后:
您还可以插入函数来检查根据要求输入的值并相应地显示验证。提交给自己的PHP表单在数据验证和数据库输入格式方面有很多应用。