首页 > 开发 > PHP > 正文

PHP入门教程之表单与验证实例详解

2024-05-04 22:52:56
字体:
来源:转载
供稿:网友

本文实例讲述了PHP表单与验证。分享给大家供大家参考,具体如下:

Demo1.php

<?php  ob_start();  //重新导向一个 URL  //header()  //header('Location:Demo2.php');  //上面这句话可以自动跳转到你所想要的页面。  //header('Location:http://www.baidu.com');  //上面这句话自动跳转到百度上面去。  echo 'baidu.com';  header('Location:http://www.baidu.com');  //在执行 header() 函数,必须注意,之前不能有任何浏览器输出?>

Demo2.php

<?php  ob_start();  echo '1232';  //字符编码  header('Content-Type:text/html;charset=GBK'); //设置页面编码  echo '我是中文';?>

Demo3.php

<form method="post" action="Demo4.php">  姓名:<input type="text" name="username" /><br />  <input type="submit" value="提交" /></form>

Demo4.php

<?php  //第一步,接收前面表单中的值。  //一个,username  //接收 $_POST['username']  //echo $_POST['username'];  //你需要明白一个道理,空字符串也是数据,也可以赋值给 $_POST['username'];  //使用 isset() 验证是否正常提交是很准确的  //目前所说的非法提交,是你没有经过表单提交,没有生成全局变量,而不是 username  //这个字段为空// if(isset($_POST['username'])){//   echo '正常提交';// }else{//   echo '非法提交';// }  //!empty($_POST['username']) 和 == ''基本一样,但是,并不能说,人家是非法的  //只能说人家没有填而已。// if(!empty($_POST['username'])){//   echo '正常提交';// }else{//   echo '非法提交';// }  //建议使用  if(isset($_POST['username'])){    echo '正常提交';    //在输出之前,为了页面安全性    //echo $_POST['username'];    $username = $_POST['username'];    $username = trim($username);    $username = htmlspecialchars($username);    if(strlen($username) < 2) {      echo '用户名不能小于两位';      exit();    }    if(!is_numeric($username)) {      echo '用户名必须是纯数字';      exit();    }    echo $username; //<strong>阅谁问君诵</strong>  }else{    echo '非法提交';  }?>

Demo5.php

<form method="post" action="Demo6.php">  用户名:<input type="text" name="username" /><br />  密  码:<input type="text" name="password" /><br />  验证码:<input type="text" name="code" size="5" />1234<br />  邮  箱:<input type="text" name="email" /><br />  介  绍:<textarea rows="6" cols="25" name="content"></textarea><br />  <input type="submit" value="提交" name="send" /></form>

Demo6.php

<?php  //第一步,先验证是否是 Demo5.php 提交过来  //只要是按钮点到我这里来的,那么就说明,其他超级变局变量都应该存在  //如果 send 是存在的,那么就说是点过来,否则,跳回  if(!isset($_POST['send']) || $_POST['send'] != '提交'){    header('Location:Demo5.php');    exit; //跳回去了,下面就不需要执行了,那么就 exit;  }  //第二步,接收所有数据  $username = trim($_POST['username']);  $password = $_POST['password'];  $code = trim($_POST['code']);  $email = trim($_POST['email']);  $content = htmlspecialchars(trim($_POST['content']));  //用户名不能小于 2 位,不能大于 10 位  if(strlen($username)<2||strlen($username)>10){    echo "<script>alert('用户名不能小于两位或者大于10');history.back();</script>";    exit;  }  //密码不能小于六位  if(strlen($password) <6){    echo "<script>alert('密码不能小于6位');history.back();</script>";    exit;  }  //验证码必须是 4 位,必须是数字  if(strlen($code)!=4 || !is_numeric($code)){    echo "<script>alert('验证码必须是 4 位并且是纯数字');history.back();</script>";    exit;  }  //验证电子邮件  if(!preg_match('/^([/w/.]{2,255})@([/w/-]{1,255}).([a-z]{2,4})$/',$email)){    echo "<script>alert('电子邮箱不合法');history.back();</script>";    exit;  }  echo '用户名:'.$username.'<br/>';  echo '电子邮件:'.$email.'<br/>';  echo '个人介绍:'.$content;?>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表