PHP基础-表单数据
说明
示例中使用用函数说明:
isset函数()
当要 判断一个变量是否已经声明的时候 可以使用 isset 函数,可以避免Notice:Undefined index...错误
htmlspecialchars() 函数
避免利用 $_SERVER["PHP_SELF"] 导致xss攻击,用户提交代码当做字符串处理
PHP 表单处理
test.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">
</head>
<body><form action="test.php" method="post">用户名:<input type="text" name="user" >密码:<input type="password" name="passwd"><input type="submit"></form>
</body>
</html>
test.php
您输入的账户是:<?php echo $_POST["user"]; ?>!<br>
您输入的密码是:<?php echo $_POST["passwd"]; ?>
PHP 下拉菜单单选
<?php
$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';
if($q) {if($q =='JavaScript') {echo "您选择的是:JavaScript";} else if($q =='python') {echo "您选择的是:python";} else if($q =='PHP') {echo "您选择的是:PHP";}
} else {?><form action="" method="get"><select name="q"><option value="">选择语言:</option><option value="JavaScript">JavaScript</option><option value="python">python</option><option value="PHP">PHP</option></select><input type="submit" value="提交"></form><?php
}
?>
PHP 下拉菜单多选
如果下拉菜单是多选的( multiple="multiple"),我们可以通过将设置 select name="q[]" 以数组的方式获取,以下使用 POST 方式提交
<?php
$q = isset($_POST['q'])? $_POST['q'] : '';
if(is_array($q)) {$sites = array('python' => 'http://www.python.org','php' => 'https://www.php.net/','JavaScript' => 'https://www.javascript.com/',);foreach($q as $val) {// PHP_EOL 为常量,用于换行echo $sites[$val] . PHP_EOL;}} else {?><form action="" method="post"><select multiple="multiple" name="q[]"><option value="">选择一种语言:</option><option value="python">python</option><option value="php">php</option><option value="JavaScript">JavaScript</option></select><input type="submit" value="提交"></form><?php
}
?>
单选按钮表单
PHP 单选按钮表单中 name 属性的值是一致的,value 值是不同的
<?php
$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';
if($q) {if($q =='JavaScript') {echo "您选择的是:JavaScript";} else if($q =='python') {echo "您选择的是:python";} else if($q =='PHP') {echo "您选择的是:PHP";}
} else {?><form action="" method="get"><input type="radio" name="q" value="python" />python<input type="radio" name="q" value="JavaScript" />JavaScript<input type="radio" name="q" value="PHP" />PHP<input type="submit" value="提交"></form><?php
}
?>
checkbox 复选框
<?php
$q = isset($_POST['q'])? $_POST['q'] : '';
if(is_array($q)) {$sites = array('python' => 'http://www.python.org','php' => 'https://www.php.net/','JavaScript' => 'https://www.javascript.com/',);foreach($q as $val) {// PHP_EOL 为常量,用于换行echo $sites[$val] . PHP_EOL;}} else {?><form action="" method="post"><input type="checkbox" name="q[]" value="python"> python<br><input type="checkbox" name="q[]" value="php"> php<br><input type="checkbox" name="q[]" value="JavaScript"> JavaScript<br><input type="submit" value="提交"></form><?php
}
?>
表单栅格化处理
利用htmlspecialchars()函数来对提交的数据进行栅格化处理,屏蔽提交代码渲染防止xss攻击
<?php
// 定义变量并默认设置为空值
$name = $email = $gender = $comment = $website = "";if ($_SERVER["REQUEST_METHOD"] == "POST")
{$name = test_input($_POST["name"]);$email = test_input($_POST["email"]);$website = test_input($_POST["website"]);$comment = test_input($_POST["comment"]);$gender = test_input($_POST["gender"]);
}function test_input($data)
{if (!is_array($data)){$data = trim($data);$data = stripslashes($data);$data = htmlspecialchars($data);}return $data;
}
?>
表单综合示例
test.html
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body><h1>用户注册页面</h1><form method="post" action="test.php">用户:<input type="text" name="user"><br>密码:<input type="password" name="passwd"><br>姓名:<input type="text" name="name"><br>邮箱:<input type="email" name="email"><br>性别:<input type="radio" name="gender" value="true"/>男<input type="radio" name="gender" value="false"/>女<br>喜欢的开发语言:<input type="checkbox" name="subjects[]" value="python"> python<input type="checkbox" name="subjects[]" value="PHP "> PHP<input type="checkbox" name="subjects[]" value="JavaScript"> JavaScript<br><input type="submit" value="提交"></form>
</body>
</html>
test.php
<?php
// 定义变量并默认设置为空值
$user = $passwd = $name= $email = $gender = $subjects = "";if ($_SERVER["REQUEST_METHOD"] == "POST") {$user = test_input($_POST["user"]);$passwd = test_input($_POST["passwd"]);$name = test_input($_POST["name"]);$email = test_input($_POST["email"]);$gender = test_input($_POST["gender"]);$subjects = test_input($_POST["subjects"]);print("所有数据:");print_r($_POST);print("<br>");print("PHP获取到的【用户】:");print($user);print("<br>");print("PHP获取到的【密码】:");print($passwd);print("<br>");print("PHP获取到的【姓名】:");print($name);print("<br>");print("PHP获取到的【邮箱】:");print($email);print("<br>");print("PHP获取到的【性别】:");print($gender);print("<br>");print("PHP获取到的【学科】:");print_r($subjects);
}
function test_input($data)
{if (!is_array($data)){$data = trim($data);$data = stripslashes($data);$data = htmlspecialchars($data);}return $data;
}
?>
结果展示
所有数据:Array ( [user] => xiaoming [passwd] => 123456 [name] => 小明 [email] => xiaoming@email.com [gender] => true [subjects] => Array ( [0] => python [1] => PHP ) )
PHP获取到的【用户】:xiaoming
PHP获取到的【密码】:123456
PHP获取到的【姓名】:小明
PHP获取到的【邮箱】:xiaoming@email.com
PHP获取到的【性别】:true
PHP获取到的【学科】:Array ( [0] => python [1] => PHP )
转载于:https://my.oschina.net/zhaojunhui/blog/3086002
PHP基础-表单数据相关推荐
- php获取post表单数据_PHP如何通过post方法来获取form表单中数据?(代码示例)
我们在网站开发过程中,通常都会遇到关于php form表单的相关操作.如php获取带有post提交方法的表单数据,这种该如何操作呢?如果大家有看过我[PHP如何通过get方法获得form表单数据?]这 ...
- 网络——提交表单数据(post方式)
[0]README 1) 本文文字描述 转自 core java volume 2 , 旨在理解 网络--提交表单数据 的基础知识 : 2) for source code, please visit ...
- Linkflow+表单工具:赋能表单数据,提升表单营销能力
前言 本文旨在帮助企业实现敏捷高效运营,提升用户数据运营效能.在这里,我们将提供Linkflow+表单工具的组合场景玩法,以帮助企业提升表单营销能力,更好实现用户精细化运营和自动化营销. 如果您有以下 ...
- 基于elementUI封装了基础表单组件
开头先BB两句 elementUI的表单组件,自带表单验证规则.虽然已经很方便了,但是我还是想封装一下. 通常用到的表单类型,主要包括:Radio 单选框,输入框,下拉框. 我封装了一个基础组件.把这 ...
- html怎么获取form表单数据,如何优雅的获取Form表单数据?
先看一个简单的例子 比如这里有一个简单的 form 表单 r1 r2 r3 r4 c1 c2 c3 c4 login reset 页面如下 现在,随便输入点内容 如果提交,表单会触发默认行为,直接以g ...
- HTML标签汇总(基础表单部分)
HTML标签汇总(基础表单部分) <form> 用于用户输入创建的HTML表单 表单包含<input>元素,比如文本字段,复选框,单选框,提交按钮等等 表单还可以包含menus ...
- php 保存表单数据,使用jquery和php自动保存表单数据
我对PHP非常好,但是使用jQuery的总菜单,并且卡在自动保存表单数据中. 自动保存功能在dummy.php中每30秒调用一次.我正在将用于处理的序列化表单数据( – >数据库)发送到save ...
- php中的全局变量$_POST收集表单数据
< !-- php中的$POST被广泛的用于手机表单数据,在HTML中from的标签指定的该属性是method="post" 下面我们将显示一个输入的字段,以及一个提交的按钮 ...
- WebApi发送HTML表单数据:文件上传与多部分MIME
5.3 Sending HTML Form Data 5.3 发送HTML表单数据(2) 本文引自:http://www.cnblogs.com/r01cn/archive/2012/12/20/28 ...
最新文章
- 中国水泥电杆市场全景调研及发展战略研究报告2022-2028年版
- 数据结构课程设计------扫雷游戏(升级版,可展开)
- Android 贴纸样式标签
- python celery应用场景_python celery 模块
- 法国 计算机 转专业,在法国留学怎样换专业
- python3.7 matplotlib增加坐标说明_python matplotlib:如何在极坐标图中的轴和刻度标签之间插入更多空格?...
- python中如何导入数据包_如何在python中发送数据包?
- server端多个文件的压缩 .NET
- Servlet-ServletConfig对象
- Unicode字符需要几个字节来存储?
- 露天停车场的matlab代码,室外停车场设计规范 · 干货
- 一招教你如何调整图片的分辨率DPI?
- 漫步STL-string in [Cpp] v.s. String in [Java]
- Mac上将mp4视频做成屏保
- 成功制作海报的十个简单法则
- html鼠标在ie上抖动,IE下CSS3动画抖动
- 在2021年为七夕Python程序与Docker牵线配对
- Multimodal Gesture Recognition Using 3-D Convolution and Convolutional LSTM
- 鸿蒙系统安装第三方应用是什么,网友表示:鸿蒙最新系统可以通过连接U盘安装第三方软件了...
- 【存档】中华成语千句文