对于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数据库搭建部分
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。