PHP表单

🥲 🥸 🤌 🫀 🫁 🥷  🐻‍❄️🦤 🪶 🦭 🪲 🪳 🪰 🪱 🪴 🫐 🫒 🫑 🫓 🫔 🫕 🦤 🪶 🦭 🪲 🪳 🪰 🪱 🐻‍❄️ 🫐 🫒 🫑 🫓 🫔 🫕
 ♔博主昵称:�欢快↑㎡
🕍博客主页:�欢快↑㎡的博客_CSDN博客-学习注意点杂记,BUG集,安装教程领域博主
🥗感谢点赞🤞🏻评论
⚇很方便的在线编辑器:Lightly
相信吧!🤜🏻我们很优秀,还可以更加优秀,加油!🌼让我们一起在写作中记录巩固学习吧!


目录

PHP表单和用户输入

php表单处理

php获取下拉菜单的数据

表单验证

PHP 表单验证

PHP 表单 - 必需字段

PHP 表单 - 验证邮件和URL

PHP $_GET 变量

PHP $_POST 变量

实例


PHP表单和用户输入

        PHP中的$_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。

        当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。

php表单处理

案列

<html>
<head>
<meta charset="utf-8">
<title>表单实列</title>
</head>
<body>
 
<form action="welcome.php" method="post">
名字: <input type="text" name="fname">
年龄: <input type="text" name="age">
<input type="submit" value="提交">
</form>
 
</body>
</html>

当用户填写完上面的表单并点击提交按钮时,表单的数据会被送往名为 "welcome.php" 的 PHP 文件:

welcome.php文件代码:

欢迎<?php echo $_POST["fname"]; ?>!<br>
你的年龄是 <?php echo $_POST["age"]; ?>  岁。

php获取下拉菜单的数据

        还有下拉菜单单选  下拉菜单多选  单选按钮表单  checkbox 复选框 获取数据

表单验证

        我们应该尽可能的对用户的输入进行验证(通过客户端脚本)。浏览器验证速度更快,可以减轻服务器压力。(对于插入数据库数据服务器也需要校验,但是客户端校验后,再请求服务端这样部分请求是到达不了服务端的也是减轻了服务端压力)

PHP 表单验证

字段 验证规则
名字 必须。 +只能包含字母和空格
E-mail 必须。 + 必须是一个有效的电子邮件地址(包含'@'和'.')
网址 可选。如果存在,它必须包含一个有效的URL
备注 可选。多行输入字段(文本域)
性别 必须。 必须选择一个

 表单元素

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

$_SERVER["PHP_SELF"]是超级全局变量,返回当前正在执行脚本的文件名,与 document root相关。 $_SERVER["PHP_SELF"] 会发送表单数据到当前页面,而不是跳转到不同的页面。

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号) 成为 &amp;
  • " (双引号) 成为 &quot;
  • ' (单引号) 成为 &#039;
  • < (小于) 成为 &lt;
  • > (大于) 成为 &gt;

$_SERVER["PHP_SELF"] 变量有可能会被黑客使用!当黑客使用跨网站脚本的HTTP链接来攻击时,$_SERVER["PHP_SELF"]服务器变量也会被植入脚本。跨网站脚本是附在执行文件的路径后面的,因此$_SERVER["PHP_SELF"]的字符串就会包含HTTP链接后面的JavaScript程序代码。

指定表单文件名为 "test_form.php":

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

使用URL来指定提交地址 "test_form.php",以上代码修改为如下所示:

<form method="post" action="test_form.php">

这样做就可以了。

但是,有可能用户会在浏览器地址栏中输入以下地址:

http://www.runoob.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

解析为如下代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

�欢快↑㎡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值