php表单

PHP 表单处理

有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。

实例

下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮。

form.html 文件代码如下:

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</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"]; ?>  岁。

表单验证

应该在任何可能的时候对用户输入进行验证(通过客户端脚本)。浏览器验证速度更快,并且可以减轻服务器的负载。

如果用户输入需要插入数据库,您应该考虑使用服务器验证。在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。

处理GET请求,实现的功能是输入姓名后页面显示“Hello XXX”, 创建html文件hello.html。

<!DOCTYPE html>
 <html>
 <head lang="en">
     <meta charset="UTF-8">
     <title>欢迎</title>
 </head>
 <body>
 <form action="hello.php" method="get">
     姓名<input name="name" type="text"/>
     <input type="submit"/>
 </form>
 </body>
 </html>

创建PHP文件hello.php

<?php
 
 header("Content-type: text/html; charset=utf-8");
 if(isset($_GET['name'])&&$_GET['name']){//如果有值且不为空
     echo 'Hello '.$_GET['name'];
 }else{
     echo 'Please input name';
 }

处理POST请求,实现一个简单的加法运算功能, 创建html文件add.html

<!DOCTYPE html>
 <html>
 <head lang="en">
     <meta charset="UTF-8">
     <title>相加</title>
 </head>
 <body>
 <form action="add.php" method="post">
     <input name="num1" type="text"/>
     +
     <input name="num2" type="text"/>
     <input type="submit" value="相加"/>
 </form>
 </body>
 </html>

创建PHP文件add.php

<?php
 if($_POST['num1']&&$_POST['num2']){
     echo $_POST['num1']+$_POST['num2'];
 }else{
     echo '请不要空值';
 }

 

Post请求把表单数据放在http请求体中,并且没有长度限制

  form action=""意思是:form是表单,action是转向地址,即form表单需要提交到哪里

继续学习
||
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</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>
提交重置代码