如果觉得不错,请关注并转发。谢谢大家!
1.做一个测试主页。
A.思维导图:
B.源代码:
& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
session_start()。//启动新的会话或重用现有的会话描述
?& gt
& lthtml & gt
& lthead & gt
& ltmeta charset = & # 8221utf-8 ″/>
& lttitle & gt测试主页
& lt/head >
& ltbody & gt
& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
if(isset($ _ SESSION[‘用户名’])) //isset()检测变量是否设置。如果登录成功
{
$ userName = $ _ SESSION[‘用户名’];//$ _ SESSION[‘用户名’]被赋给变量$userName。
回声“欢迎:”。$用户名;//Welcome:登录名
回声‘& lta href = & # 8220logout.php & # 8221& gt& lt输入类型= “巴顿”value = & # 8220注销”/>& lt/a >’;//注销按钮
}
Else {//登录失败
回声‘& lta href = & # 8220log in . PHP ”& gt& lt输入类型= “巴顿”value = & # 8220登录”/>& lt/a >’;//登录按钮
回声‘& lta href = & # 8220register.php & # 8221& gt& lt输入类型= “巴顿”value = & # 8220注册”/>& lt/a >’;//注册按钮
}
?& gt
& lt/body >
& lt/html >
C.结果:
2. 登录页面2.登录页面
A.思维导图:
B.源代码:
& lthtml & gt
& lthead & gt
& ltmeta charset = & # 8221utf-8 ″/>
& lttitle & gt注册
& ltstyle & gt
。错误{ color:red;} & lt!–CSS样式–& gt
& lt/style >
& lt/head >
& ltbody & gt
& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
$ isInfoCanUse = false//显示信息是否可用
$ userName = $ password = & # 8220”;//初始化,防止无定义使用的错误。
$ username err = $ password err = “”;
函数dealInfo($data){ //表单信息安全处理,防止被黑客攻击
$ data = trim($ data);//删除字符串两边的空白色字符或其他预定义字符
$ data = htmlspecialchars($ data);//将一些预定义的字符转换成HTML实体
$ data = strip slashes($ data);//删除反斜杠
返回$ data
}
if($ _ SERVER[‘请求_方法’] == “邮政”){//判断信息是否完整。
$ isInfoCanUse = true
如果(empty($ _ POST[‘用户名’])){//确定用户名是否为空
$ isInfoCanUse = false
$ userNameErr = & # 8220用户名不能是空”;//打印用户名不能是空
}否则{
$ userName = deal info($ _ POST[‘用户名’]);//调用表单信息安全处理函数
}
如果(empty($ _ POST[‘密码’])){//判断密码是否空
$ isInfoCanUse = false
$ passwordErr = & # 8220密码不能是空”;//打印密码不能是空
}否则{
$ password = deal info($ _ POST[‘密码’]);//调用表单信息安全处理函数
}
}
if($ _ SERVER[‘请求_方法’] == “邮政”& amp& amp$isInfoCanUse == true) {//确定表单是否是POST请求,以及其信息是否可用和显示。
$ dbhost = & # 8216127.0.0.1’;//数据库主机
$ dbuser = & # 8216root ’//数据库用户名
$ dbpass = ”//数据库密码
$ dbname = & # 8216用户’;//数据库名称
$link = mysqli_connect($dbhost,$dbuser,$dbpass,$ dbname);//连接数据
如果(!$link) {
死(‘数据库连接失败
}
否则{
//echo “数据库连接成功
}
If ($isInfoCanUse){ //显示信息是否可用
$ sql = & # 8220从帐户中选择用户名,其中用户名= ’$ userName ' ”//sql查询语句查询用户名
$result = mysqli_query($link,$ SQL);//无论成功与否,返回结果集
$ test = mysqli _ fetch _ assoc($ result);//错误查找失败。
if($test == false) {
$ userNameErr = & # 8220用户名不存在”;
}
Else {//sql查询语句查询用户名和密码。
$ sql = & # 8220从帐户中选择用户名和密码
其中用户名= ’$ userName & # 8217而密码= ‘$ password ' ”
$result = mysqli_query($link,$ SQL);//无论成功与否,返回结果集
$ test = mysqli _ fetch _ assoc($ result);//错误查找失败。
if($test == false) {
$ passwordErr = & # 8220密码错误”;
}否则{
//保存到会话
session_start()。//启动新的会话或重用现有的会话描述
$ _ SESSION[‘用户名’]= $ userName;//将用户名保存在$ _ SESSION[‘用户名’]
回声“登录成功!”;//打印登录成功!
//页面跳转
回声‘& lta href = & # 8220homepage.php & # 8221& gt& lt输入类型= “巴顿”value = & # 8220返回首页”/>& lt/a >’;
}
}
}
}
?& gt
& lt表单方法= ”邮政”action = & # 8221& lt?PHP echo htmlspecialchars($ _ SERVER[‘PHP _ SELF & # 8217]);?& gt”& gt
用户名:
& lt?php echo & # 8220& ltspan class=error>。*”。$userNameErr。”& lt/span>。”;?& gt& ltbr/>;
登录密码:
& lt?php echo & # 8220& ltspan class=error>。*”。$passwordErr。”& lt/span>。”;?& gt& ltbr/>;
& lt输入类型= ”提交”value = & # 8221登录”/>
& lt/form >
& lt/body >
& lt/html >
C.结果:
3.注册3.登记
A.思维导图:
B.源代码:
& lthtml & gt
& lthead & gt
& ltmeta charset = & # 8221utf-8 ″/>
& lttitle & gt注册
& ltstyle & gt
。错误{ color:red;} & lt!–CSS样式–& gt
& lt/style >
& lt/head >
& ltbody & gt
& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
$ isInfoCanUse = false//显示信息是否可用
$ userName = $ password = $ e***il = “”;
$ username err = $ password err = $ e***il err = “强制性项目”;
函数dealInfo($data){ //表单信息安全处理
$ data = trim($ data);//删除字符串两边的空白色字符或其他预定义字符
$ data = htmlspecialchars($ data);//将一些预定义的字符转换成HTML实体
$ data = strip slashes($ data);//删除反斜杠
返回$ data
}
if($ _ SERVER[‘请求_方法’] == “邮政”){//判断信息是否完整。
$ isInfoCanUse = true
如果(empty($ _ POST[‘用户名’])){//确定用户名是否为空
$ isInfoCanUse = false
$ userNameErr = & # 8220用户名不能是空”;//打印用户名不能是空
}否则{
如果(!preg _ ***tch(“/^[w]*$/”,$ _ POST[‘用户名’])){//使用正则表达式判断是否匹配字母和数字。
$ userNameErr = & # 8220只允许字母和数字”;//只允许打印字母和数字
$ isInfoCanUse = false
}
否则{
$ userName = deal info($ _ POST[‘用户名’]);//调用表单信息安全处理函数
}
}
如果(empty($ _ POST[‘密码’])){//判断密码是否空
$ isInfoCanUse = false
$ passwordErr = & # 8220注册密码不能是空”;//打印注册密码不能是空
}否则{
如果(!preg _ ***tch(“/(w{6,14 })/”,$ _ POST[‘密码’])){//使用正则表达式判断是否满足6到14位。
$ passwordErr = & # 8220密码长度为6~14位数字”;//打印密码长度为6~14位。
$ isInfoCanUse = false
}
否则{
$ password = deal info($ _ POST[‘密码’]);//调用表单信息安全处理函数
}
}
如果(empty($ _ POST[’电子邮件’])){///确定邮箱是否空
$ isInfoCanUse = false
$ e***ilErr = & # 8220注册的邮箱不能是空”;//打印注册邮件地址不能是空
}否则{
如果(!preg _ ***tch(“/([w-]+@[w-]+[w-]+)/”,$ _ POST[’电子邮件’])){//使用正则表达式判断是否符合邮箱格式。
$ e***ilErr = & # 8220非法邮箱格式”;//打印非法的邮箱格式
$ isInfoCanUse = false
}
否则{
$ e***il = deal info($ _ POST[’电子邮件’]);//调用表单信息安全处理函数
}
}
}
if($ _ SERVER[‘请求_方法’] == “邮政”& amp& amp$isInfoCanUse == true) {
$ dbhost = & # 8216127.0.0.1’;//数据库主机
$ dbuser = & # 8216root ’//数据库用户名
$ dbpass = ”//数据库密码
$ dbname = & # 8216用户’;//数据库名称
$link = mysqli_connect($dbhost,$dbuser,$dbpass,$ dbname);//连接到数据库
如果(!$link) {
死(‘数据库连接失败
}
否则{
//echo “数据库连接成功
}
$ sql = & # 8220从帐户中选择用户名,其中用户名= ’$ userName ' ”//sql查询语句查询用户名
$result = mysqli_query($link,$ SQL);//无论成功与否,返回结果集
$ test = mysqli _ fetch _ assoc($ result);//错误查找失败。
如果($测试!= false) {
$ userNameErr = & # 8220用户名已经存在”;//打印用户名已经存在
}
Else {//sql Add语句添加用户名密码邮箱
$ sql = & # 8220插入帐户(用户名、密码、电子邮件)
价值观(‘$ userName & # 8217, ‘$ password & # 8217, ‘$ e***il & # 8217)”;
if (mysqli_query($link,$sql)) {
回声“成功注册
}
否则{
回声“注册失败
}
//页面跳转
回声‘& lta href = & # 8220homepage.php & # 8221& gt& lt输入类型= “巴顿”value = & # 8220返回首页”/>& lt/a >’;
}
}
?& gt
& lt表单方法= ”邮政”action = & # 8221& lt?PHP echo htmlspecialchars($ _ SERVER[‘PHP _ SELF & # 8217]);?& gt”& gt
用户名:
& lt?php echo & # 8220& ltspan class=error>。*”。$userNameErr。”& lt/span>。”;?& gt& ltbr/>;
注册密码:
& lt?php echo & # 8220& ltspan class=error>。*”。$passwordErr。”& lt/span>。”;?& gt& ltbr/>;
注册邮箱:
& lt?php echo & # 8220& ltspan class=error>。*”。$e***ilErr。”& lt/span>。”;?& gt& ltbr/>;
& lt输入类型= ”提交”value = & # 8221注册”/>
& lt/form >
& lt/body >
& lt/html >
C.结果:
4.注销页面4.注销页面
A.思维导图:
B.源代码:
& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
session_start()。//启动新的会话或重用现有的会话描述
if(isset($ _ SESSION[‘用户名’])) //isset()检测变量是否设置。如果登录成功
{
session _ unset();//当前会话中注册的所有会话变量都将被释放。
session _ destroy();//销毁会话中的所有数据
}
?& gt
& lthtml & gt
& lthead & gt
& ltmeta charset = & # 8221utf-8 ″/>
& lttitle & gt注销页面
& lt/head >
& ltbody & gt
& lta href = & # 8220homepage.php & # 8221& gt& lt输入类型= “巴顿”value = & # 8220返回首页”/>& lt/a >
& lt/body >
& lt/html >
C.结果:
本文来自永远太远投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/545686.html