php笔记之表单验证

1.php

<meta charset="utf-8">
<form method="post" action="2.php">
	姓名:<input type="text" name="username" /><br />
	<input type="submit" value="提交" />
</form>

2.php

<?php

	header("Content-Type:text/html;charset=utf8");//设置页面编码

	// 第一步,接收前面表单中的值
	// 一个,username
	// 接收 $_POST['username']

	// echo $_POST['username'];

	// 空字符串也是数据
	// 使用isset()验证是否正常提交是很准确的
	// 目前所说的非法提交,是没有经过表单的提交,没有生成全局变量,而不是username这个字段为空

	if(isset($_POST['username'])){
		echo '正常提交';
		$username = $_POST['username'];
		// 在输出之前,为了页面的安全性,做一些工作
		$username = trim($username);//除去数据中的前后空格
		$username = htmlspecialchars($username);//过滤html语句

		if(strlen($username) < 2){
			echo '用户名不能小于两位';
			exit;
		}

		if(!is_numeric($username)){
			echo '用户名必须是数字';
			exit; 
		}
		echo $username;
	}
	else{
		echo '非法提交';
	}
?>



3.php

<meta charset="utf-8">
<form method="post" action="4.php">
	用户名:<input type="text" name="username" /><br />
	密 码:<input type="passward" name="passward" /><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>



4.php


<?php

	header("Content-Type:text/html;charset=utf8");//设置页面编码

	// 第一步,先验证是否由3.php提交过来的
	// 只要是按钮点到这里来的,那么就说明,其他超级全局变量都应该存在

	// 如果send是存在的,那么就是点过来的,否则,跳回3.php的页面
	if(!isset($_POST['send'])||$_POST['send']!='提交'){
		header('Location:3.php');//自动跳转页面
		exit;
	}

	// 第二步,接收所有数据
	// 判断之前先过滤一下
	$username = trim($_POST['username']);
	$passward = $_POST['passward'];
	$code = $_POST['code'];
	$content = htmlspecialchars(trim($_POST['content']));

	// 用户名不能小于两位,不能大于10位
	if(strlen($username) < 2 || strlen($username) > 10){
		// 使用js来跳转,有提示的
		echo "<script>alert('用户名不能小于两位,不能大于10位');history.back()</script>";
		exit;
	}
 	
 	// 密码不能小于六位
 	if(strlen($passward) < 6){
 		echo "<script>alert('密码不能小于六位');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.'<br />';
 ?>
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值