PHP+Mysql 实现用户登录,注册界面
生活随笔
收集整理的這篇文章主要介紹了
PHP+Mysql 实现用户登录,注册界面
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目標: 實現(xiàn)用戶的登錄 、注冊 、修改密碼、重置密碼、添加書簽,顯示書簽,刪除書簽 等功能
進一步目標: 實現(xiàn)對 用戶輸入信息的控制,具體表現(xiàn)在 對注冊信息、登錄信息的 的過濾,具有簡單的防sql注入的功能
?
首先明確結(jié)構(gòu):把自定義的函數(shù)集中放在兩個腳本 bm_functions.php 和 output_functions.php 中
完成后的各個界面:
登錄界面:
注冊界面:
用戶首頁:
還有 更改密碼界面 、 添加書簽界面、重置密碼界面、以及退出登錄界面,不再上圖
需要的源代碼:
需要源代碼的同學可以 去網(wǎng)盤里下載:
鏈接:鏈接: https://pan.baidu.com/s/1QLJNy7OuVzpSLZXRLNbZAw 提取碼: xvk3
?
首先肯定是要建立數(shù)據(jù)庫了,建立數(shù)據(jù)庫的shell腳本壓縮包里面也有,打開cmd用mysql執(zhí)行
注意:里面的sql文件為? 創(chuàng)建 數(shù)據(jù)庫的shell腳本? 需要打開cmd 用 mysql 去執(zhí)行腳本程序,生成 相應(yīng)的數(shù)據(jù)庫(具體操作自行百度)
部分源碼:(其中諸多的函數(shù)都包含在兩個自定義的函數(shù)庫里面了)
login.php
<?phprequire_once('bm_functions.php');do_html_header(''); ?><body> <ul><li><h3>這是我完成的第一個實戰(zhàn)項目!</h3></li><li><h3>看起來很簡單,實際上手卻不簡單(包括14個php文件和1個sql文件,近1000行的代碼)</h3></li><li><h3>功能包括:用戶登錄、注冊、修改密碼、重置密碼、添加書簽、顯示書簽、刪除書簽和一些簡單的 用戶名、密碼、郵件地址、書簽URL地址的過濾!</h3></li><li><h3>因為HTML學的淺,CSS還沒開始學,所以頁面沒有美化!</h3></li> </ul> <br> <br><form method="post" action="member.php" ><table bgcolor="#cccccc" align="center" height="200" width="600" ><tr><td colspan="2" align="right"><h2>登錄</h2></td><tr><td><b>賬 戶:</b></td><td><input type="text" name="username" size="30" maxlength="16"/></td><td>(由漢字、數(shù)字、字母、下劃線構(gòu)成,6~16個字符)</td></tr><tr><td><b>密 碼:</b></td><td><input type="password" name="passwd" size="30" maxlength="16"/></td><td>(由數(shù)字、字母、下劃線構(gòu)成,6 ~ 16個字符)</td></tr><tr><td colspan="2" align="center"><input type="submit" value="submit"/></td></tr><tr><td colspan="2"><a href="forgot_form.php">忘記密碼 ?</a></td><td colspan="2"><a href="register_form.php">還沒有賬戶 ?</a></td></tr></table> </form> </body>登錄界面后臺處理程序+用戶首頁? ?member.php
<?php//導(dǎo)入函數(shù)庫 require_once('bm_functions.php'); session_start();$username = $_POST['username']; $passwd = $_POST['passwd'];if ($username && $passwd) {try {if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{6,16}+$/u",$username)){throw new Exception('用戶名包含非法字符或長度錯誤,請重新輸入!');}if(!preg_match("/^[A-Za-z0-9_]{6,16}+$/u",$passwd)){throw new Exception('密碼包含非法字符或長度錯誤,請重新輸入!');}//驗證用戶信息login($username, $passwd);//將用戶信息存入會話$_SESSION['valid_user'] = $username;}catch(Exception $e) {do_html_header('Problem:');echo $e->getMessage();do_html_url('login.php', '重新登陸');do_html_footer();exit;} }//登陸成功后 do_html_header('Home'); //驗證會話注冊信息 check_valid_user(); //輸出所有書簽 if ($url_array = get_user_urls($_SESSION['valid_user'])) {display_user_urls($url_array); } //輸出頁面底部的快捷菜單 display_user_menu(); ?>注冊表單:register_form.php
<?phprequire_once('bm_functions.php');do_html_header('用戶注冊');?> <form method="post" action="register_new.php"><table bgcolor="#cccccc" align="center" width="600"><tr><td colspan="2" align="right"><h2>用戶注冊</h2></td></tr><tr><td><b> 用戶名: </b></td><td><input type="text" name="username" size="30" maxlength="30"/></td><td>(由數(shù)字、字母、下劃線構(gòu)成,16個字符以內(nèi))</td></tr><tr><td><b> 密碼: </b></td><td ><input type="password" name="passwd" size="30" maxlength="30"/></td><td>(由數(shù)字、字母、下劃線構(gòu)成,6 ~ 16個字符 )</td></tr><tr><td><b> 確認密碼: </b</td><td><input type="password" name="passwd2" size="30" maxlength="30"/></td><td>(由數(shù)字、字母、下劃線構(gòu)成,6 ~ 16個字符)</td></tr><tr><td><b> Email 地址: </b</td><td><input type="text" name="email" size="30" maxlength="100"/></td><td>(email 有過濾呦!)</td></tr><tr><td colspan=2 align="right"><input type="submit" value="Submit"></td></tr></table> </form> <?php do_html_footer(); ?>注冊后臺處理程序:?register_new.php
<?php//導(dǎo)入自定義的函數(shù)庫require_once('bm_functions.php');$email=$_POST['email'];$username=$_POST['username'];$passwd=$_POST['passwd'];$passwd2=$_POST['passwd2'];// 開啟會話session_start();try {// 調(diào)用函數(shù)檢查表單是否填寫if (!filled_out($_POST)) {throw new Exception('您的表單沒有填寫完,請繼續(xù)填寫!');}//過濾用戶名if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{6,16}+$/u",$username)){throw new Exception('用戶名包含非法字符或長度錯誤,請重新輸入!');}// 過濾密碼if ($passwd !== $passwd2) {throw new Exception('兩次輸入的密碼不一致,請重新輸入!');}if(!preg_match("/^[A-Za-z0-9_]{6,16}+$/u",$passwd)){throw new Exception('密碼包含非法字符或長度錯誤,請重新輸入!');}if(!preg_match("/^[A-Za-z0-9_]{6,16}+$/u",$passwd2)){throw new Exception('密碼包含非法字符或長度錯誤,請重新輸入!');}// 過濾郵件地址if (!valid_email($email)) {throw new Exception('這不是一個有效的郵件地址,請重新填寫!');}// 調(diào)用自定義函數(shù)向數(shù)據(jù)庫插入注冊信息register($username, $email, $passwd);// 保存用戶會話信息$_SESSION['valid_user'] = $username;do_html_header('Registration successful');echo '注冊成功!開始你的征程吧!';do_html_url('member.php', '重新登陸');}catch (Exception $e) {do_html_header('Problem:');echo $e->getMessage();do_html_footer();exit;} ?>?
新手小白做的第一個項目,代碼諸多缺漏,不喜勿評。
?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的PHP+Mysql 实现用户登录,注册界面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件上传 upload-labs 1~2
- 下一篇: SDUT-SQL题解