PHP实现一个简陋的注册登录页面

PHP实现一个简陋的注册登录页面

今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教。
首先考虑了一下需要至少四个页面:register.htmlregister.phplogin.htmllogin.php
register.html是这么写的:





注册界面



用户名:


密码:





register.php是这么写的:

connect_error){ die("服务器连接失败!"); } $name=$_POST["name"]; $password=$_POST["password"]; $sql="insert into new_info values('$name',$password)"; $res=$conn->query($sql); if(!$res){ echo "注册失败!"; }else{ if($conn->affected_rows>0){ sleep(2); header("Location:login.html"); exit; }else{ echo "注册失败"; } } $conn->close(); ?>

login.html是这么写的:





登录界面


注册成功,请登录!



用户名:


密码:





login.php是这么写的:

connect_error){ die("服务器连接失败!"); } $name=$_POST["name"]; $password=$_POST["password"]; $sql_name="select name from new_info where name='$name'"; $res_sql=$conn->query($sql_name); if($conn->affected_rows==0){ die("账号或密码有误"); }else{ $sql_pass="select password from new_info where name='$name'"; $res_pass=$conn->query($sql_pass); $row_pass=$res_pass->fetch_row(); if($row_pass[0]==$password){ echo "登录成功!"; }else{ echo "账号或密码有误"; } } $conn->close(); ?>

然后来看一下效果:

看一下数据库:

可以看到已经将数据写入数据库。
接着来登录试一下:

换个错误密码试一下:

2018-09-04 问题修正:

1.用户密码加密
2.数据库编码问题

1.用户密码加密

register.php页面:

connect_error){ die("服务器连接失败!"); } $name=$_POST["name"]; $password=$_POST["password"]; $password=md5($password); //将用户输入的密码进行md5加密 $sql="insert into test values('$name','$password')"; $res=$conn->query($sql); if(!$res){ echo "注册失败!"; }else{ if($conn->affected_rows>0){ sleep(2); header("Location:login.html"); }else{ echo "注册失败"; } } $conn->close(); ?>

login.php页面:

connect_error){ die("服务器连接失败!"); } $name=$_POST["name"]; $password=$_POST["password"]; $password=md5($password); //对用户输入的密码进行md5加密 $sql_name="select name from test where name='$name'"; $res_sql=$conn->query($sql_name); if($conn->affected_rows==0){ die("账号或密码有误!"); }else{ $sql_pass="select password from test where name='$name'"; $res_pass=$conn->query($sql_pass); $row_pass=$res_pass->fetch_row(); if($row_pass[0]==$password){ //将用户输入的加密密码与数据库密码进行对比 echo "登录成功!"; }else{ echo "账号或密码有误"; } } $conn->close(); ?>

2.数据库编码问题
在数据库执行set names utf8命令,将数据库编码改为utf8
这样就可以使用中文名注册登录。

2018-09-06 问题修正:

用户注册或者登录时输入为空的问题

register.php页面:

connect_error){ die("服务器连接失败!"); } $name=$_POST["name"]; $password=$_POST["password"]; if(empty($name) || empty($password)){ //判断注册时账号或密码是否为空 die('账号或密码不能为空!'); }else{ $password=md5($password); $sql="insert into test values('$name','$password')"; $res=$conn->query($sql); if(!$res){ echo "注册失败!"; }else{ if($conn->affected_rows>0){ sleep(2); header("Location:login.html"); }else{ echo "注册失败"; } } $conn->close(); } ?>

login.php页面:

<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('192.168.134.128','root','123456','test');
if ($conn->connect_error){
die("服务器连接失败!");
}
$name=$_POST["name"];
$password=$_POST["password"];
if(empty($name) || empty($password)){ //判断登陆时账号或密码是否为空
die('账号或密码不能为空!');
}else{
$password=md5($password);
//var_dump($password);
$sql_name="select name from test where name='$name'";
$res_sql=$conn->query($sql_name);
if($conn->affected_rows0){
die("账号或密码有误!");
}else{
$sql_pass="select password from test where name='$name'";
$res_pass=$conn->query($sql_pass);
$row_pass=$res_pass->fetch_row();
if($row_pass[0]
$password){
echo "登录成功!";
}else{
echo "账号或密码有误";
}
}
$conn->close();
}

?>

代码臃肿,还望见谅。

posted @ 2018-07-22 12:10  顾北清  阅读(808)  评论(0)    收藏  举报