内容简介:PHP菜鸟今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教。首先考虑了一下需要至少四个页面:
PHP菜鸟
今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教。
首先考虑了一下需要至少四个页面: register.html 、 register.php 、 login.html 、 login.php 。
register.html 是这么写的:
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<title>注册界面</title>
</head>
<body>
<form action="register.php" method="post">
用户名:<input type="text" name="name"></input>
<br />
密码:<input type="password" name="password"></input>
<br />
<input type="submit" value="注册"></input>
</form>
</body>
</html>
register.php 是这么写的:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('localhost','wy','000000','test');
if ($conn->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 是这么写的:
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<title>登录界面</title>
</head>
<body>
<p>注册成功,请登录!</p>
<form action="login.php" method="post">
用户名:<input type="text" name="name"></input>
<br />
密码:<input type="password" name="password"></input>
<br />
<input type="submit" value="登录"></input>
</form>
</body>
</html>
login.php 是这么写的:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('localhost','wy','000000','test');
if ($conn->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 页面:
<?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"];
$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 页面:
<?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"];
$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 页面:
<?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);
$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_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();
}
?>
代码臃肿,还望见谅。
以上所述就是小编给大家介绍的《PHP实现一个简陋的注册登录页面》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- beego实现用户未登录跳转到登录页面
- 登录Tomcat管理页面配置实例
- 软件技术-零基础-Golang用户登录页面
- 软件技术-零基础编写响应式登录页面
- ThinkPHP初学者:写一个简单登录页面(二)
- 如何实现登录、URL和页面按钮的访问控制?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。