当初我觉得一个网站上注册和登录这两个功能很神奇,后来自己研究一下发现其实道理很简单,接下来看一下怎么实现的吧。。。。

我实在我的电脑上建了几个文件:

login.html (登录页面)

register.html(注册页面)

success.html(登录成功跳转页面)

return.html(注册成功页面)

login.php

register.php

登录界面和注册界面以及success.html并没有

什么都是些html标记如下:

 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录界面</title>
</head> <body>
<form method="post" action="login.php">
账号:
<input type="text" name="usernamel"><br/><br/>
密码:
<input type="password" name="passwordl">
<input type="submit" value="登录" name="subl">
<a href="http://127.0.0.1:8080/register.html">没有账号,注册</a>
</form>
</body>
</html>
 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>会员注册</title>
</head> <body>
<form method="post" action="register.php">
账&nbsp;&nbsp;户:
<input type="text" name="username"><br/><br/>
密&nbsp;&nbsp;码:
<input type="password" name="password"><br/><br/>
密码确认:
<input type="password" name="password2">
<input type="submit" value="注册" name="sub">
</form>
</body>
</html>

return.html是注册成功之后呈现的页面,里面有一段js代码是用来定时返回登录界面的

 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head> <body>
注册成功!<br/>
5秒后返回登录界面<br/>
你也可以直接点击回到<a href="http://127.0.0.1:8080/login.html">登录页面</a>
<script type="text/javascript">
setTimeout("ren()",5000);
function ren()
{
window.location="http://127.0.0.1:8080/login.html";
} </script> </body>
</html>

register.php这是与注册页面相对应后台页面

 <?php
$link=mysql_connect("localhost","root","207207");//链接数据库
header("Content-type:text/html;charset=utf-8");
if($link)
{
//echo"链接数据库成功";
$select=mysql_select_db("login",$link);//选择数据库
if($select)
{
//echo"选择数据库成功!";
if(isset($_POST["sub"]))
{
$name=$_POST["username"];
$password1=$_POST["password"];//获取表单数据
$password2=$_POST["password2"];
if($name==""||$password1=="")//判断是否填写
{
echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."请填写完成!"."\"".")".";"."</script>";
echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>";
exit;
}
if($password1==$password2)//确认密码是否正确
{
$str="select count(*) from register where username="."'"."$name"."'";
$result=mysql_query($str,$link);
$pass=mysql_fetch_row($result);
$pa=$pass[0];
if($pa==1)//判断数据库表中是否已存在该用户名
{ echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."该用户名已被注册"."\"".")".";"."</script>";
echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>";
exit;
} $sql="insert into register values("."\""."$name"."\"".","."\""."$password1"."\"".")";//将注册信息插入数据库表中
//echo"$sql";
mysql_query($sql,$link);
mysql_query('SET NAMES UTF8');
$close=mysql_close($link);
if($close)
{
//echo"数据库关闭";
//echo"注册成功!";
echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/return.html"."\""."</script>";
}
}
else
{
echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."密码不一致!"."\"".")".";"."</script>";
echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>";
}
}
}
}
?>

login.php登录界面对应后台文件

 <?php
  header("Content-type:text/html;charset=utf-8");
$link=mysql_connect("localhost","root","207207");
if($link)
{
$select=mysql_select_db("login",$link);
if($select)
{
if(isset($_POST["subl"]))
{
$name=$_POST["usernamel"];
$password=$_POST["passwordl"];
if($name==""||$password=="")//判断是否为空
{
echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."请填写正确的信息!"."\"".")".";"."</script>";
echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/login.html"."\""."</script>";
exit;
}
$str="select password from register where username="."'"."$name"."'";
mysql_query('SET NAMES UTF8'); $result=mysql_query($str,$link);
$pass=mysql_fetch_row($result);
$pa=$pass[0];
if($pa==$password)//判断密码与注册时密码是否一致
{
echo"登录成功!";
echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/success.html"."\""."</script>";
}
{
echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."登录失败!"."\"".")".";"."</script>";
echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/login.html"."\""."</script>";
}
} }
}
?>

自己闲来无事做的还有许多要完善的地方,欢迎大家提问讨论,提供更简便的方法!

php注册、登录界面的制作的更多相关文章

  1. UI4_注册登录界面

    // // ViewController.h // UI4_注册登录界面 // // Created by zhangxueming on 15/7/3. // Copyright (c) 2015年 ...

  2. Android 比较好看的注册登录界面

    各位看官姥爷: 对于一款android手机app而言,美观的界面使得用户有好的使用体验,而一款好看的注册登录界面也会给用户好的用户体验,那么话不多说,直接上代码 首先是一款简单的界面展示 1.登陆界面 ...

  3. 用jsp实现网站登录界面的制作,并连接数据库

    课堂测试 任务需求: 撰写一篇博客 需要网站系统开发需要掌握的技术: 本次课堂测试的源程序代码: 运行结果截图: 说明课堂测试未按时完成的原因. 列出你对这门课的希望和自己的目标,并具体列出你计划每周 ...

  4. html简约风用户登录界面网页制作html5-css-jquary-学习模版

    2018--12-12 喜迎双十二,咳咳,,,,我不是打广告哈,购物的节日也不要忘记学习. 大家好,我又来了. 今天抽出来空把自己的学习心得给大家分享,这是一个可开发可扩展的用户登录界面,用于开发学习 ...

  5. Android开发实例之miniTwitter登录界面的实现

    原文: http://www.jizhuomi.com/android/example/134.html 本文要演示的Android开发实例是如何完成一个Android中的miniTwitter登录界 ...

  6. RxSwift 实战操作【注册登录】

    前言 看了前面的文章,相信很多同学还不知道RxSwift该怎么使用,这篇文件将带领大家一起写一个 注册登录(ps:本例子采用MVVM)的例子进行实战.本篇文章是基于RxSwift3.0写的,采用的是C ...

  7. vue2.0+koa2+mongodb实现注册登录

    前言 前段时间和公司一个由技术转产品的同事探讨他的职业道路,对我说了一句深以为然的话: "不要把自己禁锢在某一个领域,技术到产品的转变,首先就是思维上的转变.你一直做前端,数据的交互你只知道 ...

  8. 使用Axure RP原型设计实践03,制作一个登录界面的原型

    本篇体验做一个登录界面的原型. 登录页 首先在Page Style里为页面设置背景色. 如果想在页面中加图片,就把Image部件拖入页面,并设置x和y轴.双击页面中的Image部件可以导入图片.在Im ...

  9. CSS样式案例(2)-制作一个简单的登录界面

    首先来张完工的效果图. 一.html文件如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

随机推荐

  1. css知识总结

    ---# 学习目标:> 1. 学会使用CSS选择器> 2. 熟记CSS样式和外观属性> 3. 熟练掌握CSS各种选择器> 4. 熟练掌握CSS各种选择器> 5. 熟练掌握 ...

  2. LSI IBM服务器阵列卡操作经历

    说明:因为服务器的一个磁盘坏了,因为没有经验不敢操作.正好有一台撤下来的相同服务器,所以查找了各种教程,研究了一下各种操作.记录在这里,防止忘记.一.概念说明raid(自己百度)阵列卡组(group) ...

  3. Python函数式编程之装饰器

    原则:对修改是封闭的,对扩展是开放的,方法:一般不修改函数或者类,而是扩展函数或者类 一:装饰器 允许我们将一个提供核心功能的对象和其他可以改变这个功能的对象’包裹‘在一起, 使用装饰对象的任何对象与 ...

  4. Hadoop源码分析(3): Hadoop的运行痕迹

    在使用hadoop的时候,可能遇到各种各样的问题,然而由于hadoop的运行机制比较复杂,因而出现了问题的时候比较难于发现问题. 本文欲通过某种方式跟踪Hadoop的运行痕迹,方便出现问题的时候可以通 ...

  5. vux 项目的构建

    一:vux安装 # 安装vuxcnpm install vux --save   # 安装vux-loadercnpm install vux-loader --save-dev   # 安装less ...

  6. VUE插件大总结

    UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组件库 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开 ...

  7. dattime和timestamp的异同

    相同点: 1)都可以用来表示YYYY-MM-DD HH:MM:SS[.FRACTION]的时间; 不同点: 1)两者的存储方式不一样 a)timestamp他把客户端插入的时间从当前时区转化为UTC( ...

  8. JDK 8 之 Stream sorted() 示例

    原文链接:http://www.concretepage.com/java/jdk-8/java-8-stream-sorted-example 国外对Java8一系列总结的不错, 翻译过来给大家共享 ...

  9. Oracle客户端、服务的安装及干净卸载Oracle

    软件下载地址: 链接:https://pan.baidu.com/s/1Sluf890eNuaV8muL55eO2w 提取码:oez7 服务端因文件过大,所以分了两个文件压缩包,下载后将内容解压后放置 ...

  10. 【从零开始搭建自己的.NET Core Api框架】(一)创建项目并集成swagger:1.1 创建

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...