//5-1.php
1 <?
error_reporting(E_ALL ^ E_NOTICE);
if ($_COOKIE['username']!="") {
echo "欢迎!"."<br/>";
echo "用户名:".$_COOKIE['username']."<br/>";
echo "电话:".$_COOKIE['phone']."<br/>";
} else{
echo '
<html>
<head>
<title>用户注册</title>
</head>
<body>
<form method="post" action="5-2.php">
<p><font size="18">用户注册</p>
<table border="1" > <tr><td>用户名:</td>
<td><input name="xm" type="text" size="12"></td>
<td><font color="red">*6-12个字符(数字字母下划线)</font></td>
</tr> <tr><td>密码:</td>
<td><input name="pwd1" type="password" size="16"></td>
<td><font color="red">*6-16个数字</font></td>
</tr> <tr><td>确认密码:</td>
<td><input name="pwd2" type="password" size="16"></td>
<td><font color="red">*必须和密码一致</font></td>
</tr> <tr><td>电话:</td>
<td><input name="phone" type="text" size="11"></td>
<td><font color="red">*11位数字,第一位为1</font></td>
</tr> <tr><td colspan="3"><input type="submit" value="注册">
<input type="reset" value="取消">
</td>
</tr> </table>
</form>
</body>
</html>';}
?>
 //5-2.php
1 <?
if( strlen($_POST["xm"])<6 || strlen($_POST["xm"])>12 ){
echo "<script>alert('用户名长度错误');location.href='5-1.php';</script>";
}
else if ( strpos($_POST["xm"], "_")==false) {
echo "<script>alert('用户名中应存在下划线');location.href='5-1.php';</script>";
}
else if ( preg_match('/[a-zA-Z]/', $_POST["xm"])==false) {
echo "<script>alert('用户名中应存在英文字母');location.href='5-1.php';</script>";
}
else if ( preg_match('/[0-9]/', $_POST["xm"])==false) {
echo "<script>alert('用户名中应存在数字');location.href='5-1.php';</script>";
}
else if ( strlen($_POST["pwd1"])<6 || strlen($_POST["pwd1"])>16 ) {
echo "<script>alert('密码长度错误');location.href='5-1.php';</script>";
}
else if ($_POST["pwd1"]!=$_POST["pwd2"]) {
echo "<script>alert('两次密码不一致');location.href='5-1.php';</script>";
}
else if (strlen($_POST["phone"])!=11) {
echo "<script>alert('电话长度错误');location.href='5-1.php';</script>";
}
else if (substr($_POST["phone"],0,1)!="1") {
echo "<script>alert('电话第一位应该为1');location.href='5-1.php';</script>";
}
else if ( strpos($_POST["phone"], "_")) {
echo "<script>alert('电话中不应该存在下划线');location.href='5-1.php';</script>";
}
else if ( preg_match('/[a-zA-Z]/', $_POST["phone"])==true) {
echo "<script>alert('电话中不应该存在英文字母');location.href='5-1.php';</script>";
}
else{
setcookie("username",$_POST["xm"],time()+600);
setcookie("password",$_POST["pwd1"],time()+600);
setcookie("phone",$_POST["phone"],time()+600);
echo "注册成功"."<br/>";
echo "用户名:".$_POST["xm"]."<br/>";
echo "电话:".$_POST["phone"]."<br/>";
}
?>

PHP之cookies小练习的更多相关文章

  1. py

    import httplib,urllib import re import random def Login(userid,password): params=urllib.urlencode({' ...

  2. Cookie的基本使用

    1, 如何创建cookie <?php //创建cookie信息 //这个函数用于保存cookie //第一个参数,表示cookie一个key,第二个表示val,第三个表示cookie值,在客户 ...

  3. IndexedDB:浏览器里内置的数据库(转)

    出处;http://www.webhek.com/indexeddb/ IndexedDB是HTML5规范里新出现的浏览器里内置的数据库.对于在浏览器里存储数据,你可以使用cookies或local ...

  4. 英语发音规则---字母组合oo的发音规律

    英语发音规则---字母组合oo的发音规律 一.总结 一句话总结:在英语单词中,字母组合oo多数读长音/u:/,少数读短音/ʊ/.另外,还有极少数的特殊情况读/ʌ/, 在英语单词中,字母组合oo多数读长 ...

  5. HTML5本地存储——Web SQL Database与indexedDB

    虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...

  6. 关于web浏览器的Web SQL和IndexedDB

    虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...

  7. Web SQL与indexedDB

    虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...

  8. JS操作Cookies的小例子

    这篇文章介绍了JS操作Cookies的小例子,有需要的朋友可以参考一下. 您可能感兴趣的文章:js 保存与获取cookie的代码javascript cookie操作实例详解javascript co ...

  9. 小文本——Cookies

    http协议的无状态性导致在需要会话的场景下寸步难行,例如一个网站为了方便用户,在一段时间内登录过改网站的浏览器客户端实现自动登录,为实现这种客户端与服务器之间的会话机制需要额外的一些标识,http头 ...

随机推荐

  1. C++中将构造函数或析构函数定义为private

    今天面试被问到了这个单例模式常用到的技术手段,下面进行分析: 很多情况下要求当前的程序中只有一个object.例如一个程序只有一个和数据库的连接,只有一个鼠标的object.通常我们都将构造函数的声明 ...

  2. 从头到尾解析Hash表算法

    via:点击打开链接 十一.从头到尾解析Hash 表算法 作者:July.wuliming.pkuoliver   出处:http://blog.csdn.net/v_JULY_v.   说明:本文分 ...

  3. 《java入门第一季》之面向对象

    之前的代码描述都是基于面向过程的,今天开始正式进入面向对象的世界.什么是对象?首先要区分类和对象的概念-- 现实世界中是如何描述一个事物的? 举例:学生 姓名,年龄,性别... 学习,吃饭,睡觉 属性 ...

  4. Order&Shipping Transactions Status Summary

    Order&Shipping Transactions Status Summary Step Order Header Status Order Line Status Order Flow ...

  5. "《算法导论》之‘图’":不带权二分图最大匹配(匈牙利算法)

    博文“二分图的最大匹配.完美匹配和匈牙利算法”对二分图相关的几个概念讲的特别形象,特别容易理解.本文介绍部分主要摘自此博文. 还有其他可参考博文: 趣写算法系列之--匈牙利算法 用于二分图匹配的匈牙利 ...

  6. 在SD/MMC卡上实现hive (Implement WinCE HIVE&ROM system on NAND or SD system )

    本是个很简单的topic,但无奈的是很多客户都没有实现.所以只能写一个guide给客户,让他们依葫芦画瓢. 在SD卡上实现hive以及实现binfs最精髓的思想是,在boot stage 1依次加载s ...

  7. 可靠联机的 TCP 协议

    可靠联机的 TCP 协议 在前面的 OSI 七层协议当中,在网络层的 IP 之上则是传送层,而传送层的数据打包成什么? 最常见的就是 TCP 封包了.这个 TCP 封包数据必须要能够放到 IP 的数据 ...

  8. 3 Steps to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id

    http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-s ...

  9. Android开发阅读文档资源

    Android Studio:工具:http://developer.android.com/intl/zh-cn/tools/studio/index.html培训教程:http://develop ...

  10. Ocelot中文文档-管理

    Ocelot支持在运行时通过一个认证的Http API修改配置.有两种方式对其验证, 使用Ocelot的内置IdentityServer(仅用于向管理API验证请求)或将管理API验证挂接到您自己的I ...