PHP之cookies小练习

//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小练习的更多相关文章
- py
import httplib,urllib import re import random def Login(userid,password): params=urllib.urlencode({' ...
- Cookie的基本使用
1, 如何创建cookie <?php //创建cookie信息 //这个函数用于保存cookie //第一个参数,表示cookie一个key,第二个表示val,第三个表示cookie值,在客户 ...
- IndexedDB:浏览器里内置的数据库(转)
出处;http://www.webhek.com/indexeddb/ IndexedDB是HTML5规范里新出现的浏览器里内置的数据库.对于在浏览器里存储数据,你可以使用cookies或local ...
- 英语发音规则---字母组合oo的发音规律
英语发音规则---字母组合oo的发音规律 一.总结 一句话总结:在英语单词中,字母组合oo多数读长音/u:/,少数读短音/ʊ/.另外,还有极少数的特殊情况读/ʌ/, 在英语单词中,字母组合oo多数读长 ...
- HTML5本地存储——Web SQL Database与indexedDB
虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...
- 关于web浏览器的Web SQL和IndexedDB
虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...
- Web SQL与indexedDB
虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...
- JS操作Cookies的小例子
这篇文章介绍了JS操作Cookies的小例子,有需要的朋友可以参考一下. 您可能感兴趣的文章:js 保存与获取cookie的代码javascript cookie操作实例详解javascript co ...
- 小文本——Cookies
http协议的无状态性导致在需要会话的场景下寸步难行,例如一个网站为了方便用户,在一段时间内登录过改网站的浏览器客户端实现自动登录,为实现这种客户端与服务器之间的会话机制需要额外的一些标识,http头 ...
随机推荐
- C++中将构造函数或析构函数定义为private
今天面试被问到了这个单例模式常用到的技术手段,下面进行分析: 很多情况下要求当前的程序中只有一个object.例如一个程序只有一个和数据库的连接,只有一个鼠标的object.通常我们都将构造函数的声明 ...
- 从头到尾解析Hash表算法
via:点击打开链接 十一.从头到尾解析Hash 表算法 作者:July.wuliming.pkuoliver 出处:http://blog.csdn.net/v_JULY_v. 说明:本文分 ...
- 《java入门第一季》之面向对象
之前的代码描述都是基于面向过程的,今天开始正式进入面向对象的世界.什么是对象?首先要区分类和对象的概念-- 现实世界中是如何描述一个事物的? 举例:学生 姓名,年龄,性别... 学习,吃饭,睡觉 属性 ...
- Order&Shipping Transactions Status Summary
Order&Shipping Transactions Status Summary Step Order Header Status Order Line Status Order Flow ...
- "《算法导论》之‘图’":不带权二分图最大匹配(匈牙利算法)
博文“二分图的最大匹配.完美匹配和匈牙利算法”对二分图相关的几个概念讲的特别形象,特别容易理解.本文介绍部分主要摘自此博文. 还有其他可参考博文: 趣写算法系列之--匈牙利算法 用于二分图匹配的匈牙利 ...
- 在SD/MMC卡上实现hive (Implement WinCE HIVE&ROM system on NAND or SD system )
本是个很简单的topic,但无奈的是很多客户都没有实现.所以只能写一个guide给客户,让他们依葫芦画瓢. 在SD卡上实现hive以及实现binfs最精髓的思想是,在boot stage 1依次加载s ...
- 可靠联机的 TCP 协议
可靠联机的 TCP 协议 在前面的 OSI 七层协议当中,在网络层的 IP 之上则是传送层,而传送层的数据打包成什么? 最常见的就是 TCP 封包了.这个 TCP 封包数据必须要能够放到 IP 的数据 ...
- 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 ...
- Android开发阅读文档资源
Android Studio:工具:http://developer.android.com/intl/zh-cn/tools/studio/index.html培训教程:http://develop ...
- Ocelot中文文档-管理
Ocelot支持在运行时通过一个认证的Http API修改配置.有两种方式对其验证, 使用Ocelot的内置IdentityServer(仅用于向管理API验证请求)或将管理API验证挂接到您自己的I ...