对于php和mysql的连接在许多blog上都有说明,为了将mysql中的查询,修改,插入等操作掌握,本文介绍了一下如何采用mysql做一个登录注册修改密码的网页。
其中,如下
1.登录-即为对数据库中的内容给予查询,并验证html中的信息与数据库是否匹配;
2.注册-即为对数据库中的内容进行插入,注册帐号与密码;
3.修改密码-即为对数据库中的内容进行修改。
这三个操作,我用了8个php和html文本来建立 具体见代码部分
1.登录的主界面index.html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
<title>登录注册修改密码系统主页</title>
<style type= "text/css" >
form {
text-align: center;
}
</style>
</head>
<body>
<form action= "enter.php" method= "post" onsubmit= "return enter()" >
用户名<input type= "text" name= "username" id= "username" ><br> 密码<input
type= "password" name= "password" id= "password" ><br> <input
type= "submit" value= "登录" > <input type= "button"
value= "注册" onclick= "register();" >
</form>
<script type= "text/javascript" >
function enter()
{
var username=document.getelementbyid( "username" ).value; //获取form中的用户名
var password=document.getelementbyid( "password" ).value;
var regex=/^[/s]+$/; //声明一个判断用户名前后是否有空格的正则表达式
if (regex.test(username)||username.length==0) //判定用户名的是否前后有空格或者用户名是否为空
{
alert( "用户名格式不对" );
return false;
}
if (regex.test(password)||password.length==0) //同上述内容
{
alert( "密码格式不对" );
return false;
}
return true;
}
function register()
{
window.location.href= "register.html" ; //跳转到注册页面
}
</script>
</body>
</html>
|
2.登录的后台操作enter.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
<title>登录系统的后台执行过程</title>
</head>
<body>
<?php
session_start(); //登录系统开启一个session内容
$username = $_request [ "username" ]; //获取html中的用户名(通过post请求)
$password = $_request [ "password" ]; //获取html中的密码(通过post请求)
$con =mysql_connect( "localhost" , "root" , "root" ); //连接mysql 数据库,账户名root ,密码root
if (! $con ) {
die ( '数据库连接失败' . $mysql_error ());
}
mysql_select_db( "user_info" , $con ); //use user_info数据库;
$dbusername =null;
$dbpassword =null;
$result =mysql_query( "select * from user_info where username ='$username';" ); //查出对应用户名的信息
while ( $row =mysql_fetch_array( $result )) { //while循环将$result中的结果找出来
$dbusername = $row [ "username" ];
$dbpassword = $row [ "password" ];
}
if ( is_null ( $dbusername )) { //用户名在数据库中不存在时跳回index.html界面
?>
<script type= "text/javascript" >
alert( "用户名不存在" );
window.location.href= "index.html" ;
</script>
<?php
}
else {
if ( $dbpassword != $password ){ //当对应密码不对时跳回index.html界面
?>
<script type= "text/javascript" >
alert( "密码错误" );
window.location.href= "index.html" ;
</script>
<?php
}
else {
$_session [ "username" ]= $username ;
$_session [ "code" ]=mt_rand(0, 100000); //给session附一个随机值,防止用户直接通过调用界面访问welcome.php
?>
<script type= "text/javascript" >
window.location.href= "welcome.php" ;
</script>
<?php
}
}
mysql_close( $con ); //关闭数据库连接,如不关闭,下次连接时会出错
?>
</body>
</html>
|
3.登录成功后的欢迎界面welcome.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
<title>欢迎登录界面</title>
</head>
<body>
<?php
session_start ();
if (isset ( $_session [ "code" ] )) { //判断code存不存在,如果不存在,说明异常登录
?>
欢迎登录<?php
echo "${_session[" username "]}" ; //显示登录用户名
?><br>
您的ip:<?php
echo "${_server['remote_addr']}" ; //显示ip
?>
<br>
您的语言:
<?php
echo "${_server['http_accept_language']}" ; //使用的语言
?>
<br>
浏览器版本:
<?php
echo "${_server['http_user_agent']}" ; //浏览器版本信息
?>
<a href= "exit.php" >退出登录</a>
<?php
} else { //code不存在,调用exit.php 退出登录
?>
<script type= "text/javascript" >
alert( "退出登录" );
window.location.href= "exit.php" ;
</script>
<?php
}
?>
<br>
<a href= "alter_password.html" >修改密码</a>
</body>
</html>
|
4.修改密码的主界面alter_password.html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
<title>修改密码</title>
<style type= "text/css" >
form{
text-align: center;
}
</style>
</head>
<body>
<?php
session_start();
?>
<form action= "alter_password.php" method= "post" onsubmit= "return alter()" >
用户名<input type= "text" name= "username" id = "username" /><br/> 旧密码<input
type= "password" name= "oldpassword" id = "oldpassword" /><br/> 新密码<input
type= "password" name= "newpassword" id= "newpassword" /><br/> 确认新密码<input
type= "password" name= "assertpassword" id= "assertpassword" /><br/> <input
type= "submit" value= "修改密码" onclick= "return alter()" >
</form>
<script type= "text/javascript" >
document.getelementbyid( "username" ).value= "<? php echo " ${_session[ "username" ]} ";?>"
</script>
<script type= "text/javascript" >
function alter() {
var username=document.getelementbyid( "username" ).value;
var oldpassword=document.getelementbyid( "oldpassword" ).value;
var newpassword=document.getelementbyid( "newpassword" ).value;
var assertpassword=document.getelementbyid( "assertpassword" ).value;
var regex=/^[/s]+$/;
if (regex.test(username)||username.length==0){
alert( "用户名格式不对" );
return false;
}
if (regex.test(oldpassword)||oldpassword.length==0){
alert( "密码格式不对" );
return false;
}
if (regex.test(newpassword)||newpassword.length==0) {
alert( "新密码格式不对" );
return false;
}
if (assertpassword != newpassword||assertpassword==0) {
alert( "两次密码输入不一致" );
return false;
}
return true;
}
</script>
</body>
</html>
|
5.修改密码的后台操作alter_password.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
<title>正在修改密码</title>
</head>
<body>
<?php
session_start ();
$username = $_request [ "username" ];
$oldpassword = $_request [ "oldpassword" ];
$newpassword = $_request [ "newpassword" ];
$con = mysql_connect ( "localhost" , "root" , "root" );
if (! $con ) {
die ( '数据库连接失败' . $mysql_error () );
}
mysql_select_db ( "user_info" , $con );
$dbusername = null;
$dbpassword = null;
$result = mysql_query ( "select * from user_info where username ='$username';" );
while ( $row = mysql_fetch_array ( $result ) ) {
$dbusername = $row [ "username" ];
$dbpassword = $row [ "password" ];
}
if ( is_null ( $dbusername )) {
?>
<script type= "text/javascript" >
alert( "用户名不存在" );
window.location.href= "alter_password.html" ;
</script>
<?php
}
if ( $oldpassword != $dbpassword ) {
?>
<script type= "text/javascript" >
alert( "密码错误" );
window.location.href= "alter_password.html" ;
</script>
<?php
}
mysql_query ( "update user_info set password='$newpassword' where username='$username'" ) or die ( "存入数据库失败" . mysql_error () ); //如果上述用户名密码判定不错,则update进数据库中
mysql_close ( $con );
?>
<script type= "text/javascript" >
alert( "密码修改成功" );
window.location.href= "index.html" ;
</script>
</body>
</html>
|
6.注册帐号的主界面register.html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
<title>注册系统</title>
<style type= "text/css" >
form {
text-align: center;
}
</style>
</head>
<body>
<form action= "register.php" method= "post" name= "form_register"
onsubmit= "return check()" >
用户名<input type= "text" name= "username" id= "username" ><br>
密码<input type= "password" name= "password" id= "password" ><br>
确认密码<input type= "password" name= "assertpassword" id= "assertpassword" ><br>
<input type= "submit" value= "注册" >
</form>
<script type= "text/javascript" >
function check() {
var username=document.getelementbyid( "username" ).value;
var password=document.getelementbyid( "password" ).value;
var assertpassword=document.getelementbyid( "assertpassword" ).value;
var regex=/^[/s]+$/;
if (regex.test(username)||username.length==0){
alert( "用户名格式不对" );
return false;
}
if (regex.test(password)||password.length==0){
alert( "密码格式不对" );
return false;
}
if (password!=assertpassword){
alert( "两次密码不一致" );
return false;
}
}
</script>
</body>
</html>
|
7.注册帐号的后台操作register.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
<title>注册用户</title>
</head>
<body>
<?php
session_start();
$username = $_request [ "username" ];
$password = $_request [ "password" ];
$con =mysql_connect( "localhost" , "root" , "root" );
if (! $con ) {
die ( '数据库连接失败' . $mysql_error ());
}
mysql_select_db( "user_info" , $con );
$dbusername =null;
$dbpassword =null;
$result =mysql_query( "select * from user_info where username ='$username';" );
while ( $row =mysql_fetch_array( $result )) {
$dbusername = $row [ "username" ];
$dbpassword = $row [ "password" ];
}
if (! is_null ( $dbusername )){
?>
<script type= "text/javascript" >
alert( "用户已存在" );
window.location.href= "register.html" ;
</script>
<?php
}
mysql_query( "insert into user_info (username,password) values('$username','$password')" ) or die ( "存入数据库失败" .mysql_error()) ;
mysql_close( $con );
?>
<script type= "text/javascript" >
alert( "注册成功" );
window.location.href= "index.html" ;
</script>
</body>
</html>
|
8.非法登录时退出登录的操作exit.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<!doctype html>
<html>
<head>
<meta charset= "utf-8" >
</head>
<body>
<?php
session_start (); //将session销毁时调用destroy
session_destroy ();
?>
<script type= "text/javascript" >
window.location.href= "index.html" ;
</script>
</body>
</html>
|
9.mysql数据库搭建部分
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。