序

登录注册系统是日常上网最普通的操作,我设了一个分类一步步完善注册登录系统,若有哪里错误请慧教

所用语言:php

数据库 :mysql

本次实现功能:

1.用户注册

2.用户登录

主要文件:

完整代码

1 sql 在已有的数据库里创建user表,id,username,password三个字段

create table user(id int(10) not null auto_increment,username varchar(30),password varchar(40),primary key(id));

2 connect.php 数据库配置文件

<?php
$server="localhost";//主机
$db_username="";//你的数据库用户名
$db_password="";//你的数据库密码 $con = mysql_connect($server,$db_username,$db_password);//链接数据库
if(!$con){
die("can't connect".mysql_error());//如果链接失败输出错误
} mysql_select_db('test',$con);//选择数据库(我的是test)
?>

3 signup.html 注册表单

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户注册页面</title>
</head>
<body>
<form action="signup.php" method="post">
<p>用户名:<input type="text" name="name"></p>
<p>密 码: <input type="text" name="password"></p>
<p><input type="submit" name="submit" value="注册"></p>
</form>
</body>
</html>

4 signup.php 注册程序

<?php
header("Content-Type: text/html; charset=utf8"); if(!isset($_POST['submit'])){
exit("错误执行");
}//判断是否有submit操作 $name=$_POST['name'];//post获取表单里的name
$password=$_POST['password'];//post获取表单里的password include('connect.php');//链接数据库
$q="insert into user(id,username,password) values (null,'$name','$password')";//向数据库插入表单传来的值的sql
$reslut=mysql_query($q,$con);//执行sql if (!$reslut){
die('Error: ' . mysql_error());//如果sql执行失败输出错误
}else{
echo "注册成功";//成功输出注册成功
} mysql_close($con);//关闭数据库 ?>

注册流程完成,下面是用户登录

5 login.html 登录表单

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登陆</title>
</head>
<body>
<form name="login" action="login.php" method="post">
<p>用户名<input type=text name="name"></p>
<p>密 码<input type=password name="password"></p>
<p><input type="submit" name="submit" value="登录"></p>
</form>
</body>
</html>

login.php 登录程序

<?PHP
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("错误执行");
}//检测是否有submit操作 include('connect.php');//链接数据库
$name = $_POST['name'];//post获得用户名表单值
$passowrd = $_POST['password'];//post获得用户密码单值 if ($name && $passowrd){//如果用户名和密码都不为空
$sql = "select * from user where username = '$name' and password='$passowrd'";//检测数据库是否有对应的username和password的sql
$result = mysql_query($sql);//执行sql
$rows=mysql_num_rows($result);//返回一个数值
if($rows){//0 false 1 true
header("refresh:0;url=welcome.html");//如果成功跳转至welcome.html页面
exit;
}else{
echo "用户名或密码错误";
echo "
<script>
setTimeout(function(){window.location.href='login.html';},1000);
</script> ";//如果错误使用js 1秒后跳转到登录页面重试;
} }else{//如果用户名或密码有空
echo "表单填写不完整";
echo "
<script>
setTimeout(function(){window.location.href='login.html';},1000);
</script>"; //如果错误使用js 1秒后跳转到登录页面重试;
} mysql_close();//关闭数据库
?>

welcome.html 登录成功跳转页面

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登陆成功</title>
</head>
<body>
欢迎光临
</body>
</html>

 

至此一个简单的完整的注册登录系统完成,代码很简单没有考虑验证安全性健壮性,后面会一步步完善,使之强大

php注册登录系统(一)-极简的更多相关文章

  1. 一个基于Unix套接字的注册登录系统

    2016/5/5 今天,我参考<Unix网络编程-卷1>第5章的TCP回射客户/服务器程序写了一个简单的注册登录系统,其功能如下:(1)注册.客户端向服务器发送个人信息请求注册,服务器查询 ...

  2. Django+bootstrap+注册登录系统

    转自:https://www.cnblogs.com/robindong/p/9610057.html Robin_D 博客园 首页 新随笔 联系 订阅 管理 随笔 - 10  文章 - 0  评论 ...

  3. 基于javaweb人脸识别注册登录系统

    ---恢复内容开始--- 现在是2019年,人脸识别技术已经相当成熟了,百度自2017年发布人脸识别技术,已经被广泛应用,不管从现在的iphoneX掀起的面部解锁到手机应用端的各种人脸认证,这一技术已 ...

  4. JavaWeb笔记——注册登录系统项目思路

    功能:   > 注册   > 登录 --------------------------------- JSP:   * login.jsp  --> 登录表单   * regist ...

  5. 注册登录系统项目思路 -- javaweb

    功能:   > 注册   > 登录   ---------------------------------   JSP:   * login.jsp  --> 登录表单   * re ...

  6. CAS单点登录系统整合——注册的问题

    最近一段时间在搞CAS单点登录系统,涉及到几个子系统的整合问题.对于注册,这里遇到了一个选择: 在子系统内完成注册,然后把信息同步到CAS系统: 在CAS系统中完成基本信息的注册,比如:用户名.邮箱. ...

  7. 极简 Node.js 入门 - 1.2 模块系统

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  8. HTML5 极简的JS函数

    页面初始化 mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面.关闭 ...

  9. CentOS下使用Postfix + Dovecot + Dnsmasq搭建极简局域网邮件系统

    背景 开发环境为局域网,工作内容需要经常查看邮件文件(*.eml),可恶的Foxmail必须验证账户才能进入主界面,才能打开eml文件查看. 无奈搭一个局域网内的邮件系统吧.极简搭建,仅用于通过Fox ...

随机推荐

  1. hdu 3068 最长回文 manacher

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正 ...

  2. 管理员必须掌握的八个cmd命令

    一.ping   它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的 ...

  3. 在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static

    在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static ! 在C语言中,我们使用pthread_create ...

  4. maven mirror repository

    简单点来说,repository就是个仓库.maven里有两种仓库,本地仓库和远程仓库.远程仓库相当于公共的仓库,大家都能看到.本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用.当你向仓库请 ...

  5. c++11 内存模型解读

    c++11 内存模型解读 关于乱序 说到内存模型,首先需要明确一个普遍存在,但却未必人人都注意到的事实:程序通常并不是总按着照源码中的顺序一一执行,此谓之乱序,乱序产生的原因可能有好几种: 编译器出于 ...

  6. iOSpush过后返回多级界面

    有导航控制器push过后pop可以反回上一个界面,然而我们需要返回多级界面有下面两种方法 调用API - (NSArray *)popToViewController:(UIViewControlle ...

  7. iOS项目的完整重命名方法图文教程

    原文链接:http://www.cocoachina.com/ios/20150104/10824.html iOS项目的完整重命名方法图文教程 前言:在iOS开发中,有时候想改一下项目的名字,都会遇 ...

  8. POJ 2027

    #include<iostream> using namespace std; int main() { int time; cin>>time; int a; int b; ...

  9. 无线Ad-hoc网络的关键技术之路由(转)

    无线Ad-hoc网络的关键技术之路由http://network.51cto.com/art/201003/189719.htm

  10. UVA 10780 Again Prime? No Time. 分解质因子

    The problem statement is very easy. Given a number n you have to determine the largest power of m,no ...