一.Header()函数
标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字符串,在标头与 HTML 文件之间尚需空一行分隔。
/*一.Header()函数 */ 1 重现导向一个URL 可以跳转到你想要的页面 在执行header();之前不能有任何浏览器输出 header('Location:demo2.php'); header('Location:http://www.baidu.com'); 2 用于设置字符编码 header('Content-Type:text/html;charset=utf-8'); echo '党兴明';
二.接受及验证数据
GET与POST
处理表单时,必须指定输入到表单的信息以何种方式传输到其目的地(method="")。对此,Web开发人员可以采用GET和POST。使用GET方法发送数据时,所有域都追加到浏览器的URL后面,并且为数据随URL地址发送。采用POST方法时,值会作为标准值发送。
PHP分别使用$_GET和$_POST超全局变量来处理GET和POST变量。通过使用这两个超全局变量,可以准确地指定信息应当来自哪里,并以你希望的方式处理数据。
demo5.php
<form method='post' action='demo6.php'> 用户名:<input type='text' name='username' /><br /> 密 码:<input type='password' name='password' /><br /> 验证码:<input type='text' name='code' size='5' />1234<br /> 邮 件:<input type='email' name='email' /><br /> 简 介:<textarea rols='6' cols='20'></textarea><br /> <input type='submit' name='send' value='提交' /> </form>
demo6.php
//1 线验证是否是demo3.php提交过来的 //只要是按钮点到我这里来的,那就说明,其它超级全局变量都应该存在 if (!isset($_POST['send']) || $_POST['send']!='提交'){ //没有点击提交按钮或者点击的不是name='send'的按钮提交过来的就退出 header('Location:demo6.php'); //跳回demo3.php页面 exit; //跳出,下面不需要执行了 } //2 接受所有数据 $username = $_POST['username']; $password = $_POST['password']; $code = $_POST['code']; $email = $_POST['email']; $content = htmlspecialchars(trim($_POST['content']));//过滤下文本中的html和两边的空白 //用户名不能小于两位,不能大于10位 if(strlen($username)<2 || strlen($username)>10){ //使用js来跳转,有提示的 echo "<script>alert('用户名不能小于两位或大于10位');history.back();</script>"; exit; } //密码不能小于两位 if (strlen($password) <6){ echo "<script>alert('密码不能小于四位');history.back();</script>"; exit; } //验证码必须是四位,必须是数字 if (strlen($code) !=4 || !is_numeric($code)){ echo "<script>alert('验证码必须是四位,必须是数字');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 />'.$code.'<br />'.$email.'<br />'.$content;
get的实例:表单建议用post
<a href='demo2.php?a=5'>demo2</a>
<?php echo $_GET['a']; ?>