|
表单是网页的最基本的单位。网站要实现用户注册、登录、搜索功能、在线购物等等都离不开表单。利用PHP能够非常简单地获得处理由HTML生成的数据。
表单创建是HTML的知识,本文不深入地涉及。只重点说一下与PHP相关的表单属性。
表单的的与PHP相关联的属性
action属性指向处理表单的PHP脚本。
method属性接受两个参数,post/get;
post与get的差异
1、get会公开地将用户输入表单的信息发送给php脚本,不安全;
2、get传送的信息有限。
3、使用get方式的表单创建的页面能够被添加为书签,post不可以。
4、重载post访问的页面,会显示提示信息,get不会。
所以get主要用于从服务器强求数据的行为例如,搜索请求等,post用于触发服务器的行为,例如用户登录、注册等敏感信息。
使用PHP接收表单数据
php脚本在接收和处理表单数据时,需要使用特定的变量$_GET和$_POST这个两个预定义变量。这个两个预定义变量是专门用于处理表单数据的。如果HTML表单使用的是get,则使用$_GET变量,如果是post,则使用$_POST。
$_GET和$POST除了是预定义变量,还是数组和一个特殊变量类型。所以这个两个变量包含了大量的值,所以需要使用通过键或者索引来使用它。
当在双引号中使用单引号时,会发生错误,例如
...
<?php print "thanks for you $_POST['somthing'];?>
...
解决方法是将这个特殊的变量赋值给另一个变量:
$something=$_POST["something"];
print "thinks for you $something ";
这里要严格按照标量书写要求进行书写,同时$_POST的变量的索引必须同表单的name值匹配。
HTML表单必须要和处理他的php脚本在同一个目录下。
.....
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link>
</head>
<body>
<form action="my_register.php" method="post">
<p>完成表单后在提交:</p>
<p>
<select name="sex" >
<option value="Mr">Mr</option>
<option value="Mrs">Mrs</option>
<option value="Ms">ms</option>
</select>
<input type="text" name="name"/>
</p>
<p>邮箱:<input type="text" name="Email"/></p>
<p>选择:
<input type="radio" name="response" value="优"/>优
<input type="radio" name="response" value="良"/>良
<input type="radio" name="response" value="合格"/>合格</p>
<p>评论:<textarea name="comments" cols="40" rows="10"></textarea></p>
<p><input type="submit" name="submit" value="提交"/></p>
</form>
</body>
</html>
php脚本
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link>
</head>
<body>
<?php
$sex=$_POST['sex'];
$name=$_POST['name'];
$Email=$_POST['Email'];
$Response=$_POST['response'];
$comments=$_POST['comments'];
print "谢谢您,$sex $name ,你给我我们的评论是'$Response',评论内容是:<br/>$comments";
?>
</body>
</html>
在选择表单元素中的value数值必必须要个要被和选的值相统一。
例如
<input type="radio" name="response" value="合格"/>合格</p>
查看输出效果时,必须要通过url来加载HTML,这样才能通过url运营php脚本。注意,php脚本必须要通过url来运行。
调试PHP脚本
默认情况下,php是不不显示任何错误提示,在使用文本编辑器打开php文件夹下的php.ini文件中的display_errors设置成on,或者在你的PHP脚本的中添加ini_set('display_errors',1)来临时开启错误提示。XAMPP是默认开启的
error_reporting(0),不显示任何错我;
error_reporting(E_ALL),报告所有错误;
error_reporting(E_ALL & ~E_NOTICE),看到notice之外的所有错误。
error_reporting(ALL | E_STRICT),显示所有错误信息。
向页面发送数据
表单使用get方法向服务器请求数据时,php脚本需要使用$_GET变量。和$_POST变量一个,$GET方法也需要引用一个特殊的索引。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link>
</head>
<body>
<a href="my_register.php?name=dding">dding</a>
<a href="my_register.php?name=wwang">wwang</a>
<a href="my_register.php?name=zhang">zhang</a>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link>
</head>
<body>
<?php
$name=$_GET['name'];
print "Hello,<span style=\"font-size:18px;color:red;\">$name</span> ";
?>
</body>
</html>
|
|
|
|
|
|
|