【新手教程】从零搭建php动态网站
PHP環境搭建
需要準備好三個軟件:MySQL、PHPstudy、Dreamweaver
這里我用的版本是 mysql8.0.20、phpstudy_x64_8.1.0.5 和 Dreamweaver CC 2018
因為我按照老師給的文檔做,先卸載了MySQL后安裝的phpstudy,然后用phpstudy提供的mysql安裝后續出現了很多問題,幾經波折后選擇重裝回原來的MySQL,淚目,所以如果你也遇到了和我一樣的情況還是選擇重裝回原來的MySQL吧,安裝的中途可能會遇到3306端口被占用的提示,可以按照下面的鏈接操作(一篇文章看不懂就看兩篇)
https://blog.csdn.net/qq_28325423/article/details/80549018?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
https://blog.csdn.net/zt15732625878/article/details/80904437
三個軟件安裝完后,打開phpstudy,選擇左側的環境,安裝php運行環境
然后到首頁打開Apache
接下來測試一下PHP環境是否安裝成功,如果點擊網站-管理-打開網站,出現以下畫面PHP環境就配置成功了
創建站點
在phpstudy的安裝目錄找到WWW的文件夾,然后新建一個站點文件夾,這里我命名為chapter2
然后保持phpstudy里的Apache服務開著,打開Dreamweaver,點擊菜單欄的站點-新建站點
在彈出的窗口將站點名稱設置為chapter2,本地站點文件夾設置為剛剛新建的文件夾
再選擇左側的服務器欄,添加新服務器
接著按下圖設置好,服務器名稱設為chapter2,連接方法選本地/網絡,服務器文件夾選之前新建的文件夾,最后的Web URL設置為 http://localhost/站點文件夾名/ (這里我的站點文件夾即我新建的那個文件夾chapter2)
還是這個窗口上邊選擇高級,里面測試服務器里的服務器模型選擇PHP MySQL
點擊保存,然后按下圖選擇測試,再點下面的保存
現在站點創建好了,接下來正式進入正片
編寫代碼環節
在Dreamweaver右邊的文件一欄,右鍵剛剛新建的站點,新建文件,這里一共新建了6個文件,注意后綴不一樣
接下來是不同文件的代碼,注意其中的注釋理解代碼
<!--login.html--><!doctype html> <html> <head> <meta charset="utf-8"> <title>登錄頁面</title> </head><body><!--建一個表單,模式為POST action連接到login.php--><form action="login.php" method="post"><!--輸入用戶名,后面的required用于非空校驗,在該框為空的時候不能提交此表單-->用戶名:<input name="username" type="text" required><br><!--輸入密碼-->密碼:<input name="password" type="password" required><br> <!--提交按鈕--><button type="submit">登錄</button></form> </body> </html> <!--register.html--><!doctype html> <html> <head> <meta charset="utf-8"> <title>注冊頁面</title> </head><body><!--建一個表單,模式為POST action連接到register.php--><form action="register.php" method="post"><!--輸入用戶名,后面的required用于非空校驗,在該框為空的時候不能提交此表單-->用戶名:<input name="username" type="text" required><br><!--輸入密碼-->密碼:<input name="password" type="password" required><br> <!--再次輸入密碼,注意這里的name是repassword,不要和上面的password重名了,表單提交到php處理頁面的時候要用到這些名字-->重復密碼:<input name="repassword" type="password" required><br> <!--提交按鈕--><button type="submit">注冊</button></form> </body> </html> <!--connect.php--><?php//連接數據庫 $conn = mysqli_connect('localhost','root','這里寫你數據庫的密碼');//如果連接數據庫失敗就輸出錯誤信息 if(!$conn){die("連接數據庫錯誤:".mysqli_error($conn)); }//選擇數據庫 mysqli_select_db($conn,'xscj');//選擇字符集 mysqli_set_charset($conn,'utf8');?> <!--login.php--><?php//連接數據庫 include("connect.php");//獲取表單數據 $username = $_POST['username']; $password = $_POST['password'];//查詢用戶 $sql = "select userid from user where username = '$username' and password = '$password'"; $result = mysqli_query($conn,$sql); if(mysqli_num_rows($result) > 0){//mysqli_num_rows的返回值是查詢結果的行數,查詢成功跳轉到主頁index.phpecho "<script>url=\"index.php\";window.location.href=url;</script>"; }else{//沒有查詢到該用戶,彈出一個對話框"用戶名或密碼錯誤",并返回login.html頁面echo "<script>alert(\"用戶名或密碼錯誤\");</script>";echo "<script>url=\"login.html\";window.location.href=url;</script>"; }//關閉數據庫 mysqli_close($conn);?> <!--register.php--><?php//獲取表單數據 $username = $_POST['username']; $password = $_POST['password']; $repassword = $_POST['repassword'];//判斷兩次密碼是否一致 if($password != $repassword){echo "<script>alert(\"兩次密碼不一致\");</script>";echo "<script>url=\"register.html\";window.location.href=url;</script>";exit(); }//連接數據庫 include("connect.php");//判斷用戶名是否已被注冊 $sql = "select userid from user where username = '$username'"; $result = mysqli_query($conn,$sql); if(mysqli_num_rows($result) > 0){echo "<script>alert(\"該用戶名已被注冊\");</script>";echo "<script>url=\"register.html\";window.location.href=url;</script>";exit(); }//向數據庫中插入新用戶,userid位置插入null,因為建表時userid字段設置為自動遞增,useridj就會自動增長 $sql = "insert into user values(null,'$username','$password')"; $result = mysqli_query($conn,$sql); if($result){echo "<script>alert(\"注冊成功,前往登錄\");</script>";echo "<script>url=\"login.html\";window.location.href=url;</script>"; }else{//數據庫報錯die("Error: ".mysqli_error($conn)); }//關閉數據庫 mysqli_close($conn);?> <!--index.php--><!doctype html> <html> <head> <meta charset="utf-8"> <title>系統主頁</title> </head><body>Welcome to the xscj system! </body> </html>現在讓我們看看效果,右鍵點擊右側文件欄的register.html,在下拉菜單中選擇在瀏覽器中打開,選擇谷歌瀏覽器
先輸入兩個不一致的密碼測試一下
顯示錯誤了,nice,點擊確認就返回注冊頁面了,再正常注冊一遍
注冊成功!來看看數據庫里的數據
剛剛注冊的賬戶信息成功錄入數據庫了!
接下來來到登錄頁面,同樣先測試一下輸錯用戶名和密碼的情況
接下來輸入剛剛注冊的賬號
跳轉到系統主頁了!是不是感覺有什么地方怪怪的,一般網站登錄完,右上角都有顯示用戶的昵稱,沒登錄的時候顯示前往登錄之類的。這個可以用session來實現,接下來是實現該功能的教程。
創建session
在login.php文件中添加如下圖代碼
session_start();開啟會話
$_SESSION['username'] = $username;創建用戶
顯示session
在index.php文件中添加如下圖代碼
isset($_SESSION['username']) 用來判斷是否有用戶登錄
刪除session
在上圖中注銷那一行 href = "destroy_session.php" 鏈接到了一個文件,就是用于刪除session的,代碼如下
<!--destroy_session.php--><?php//銷毀session并跳轉到login.html登錄頁面session_start();session_destroy();echo "<script>url=\"login.html\";window.location.href=url;</script>"; ?>完成上面三個步驟后,讓我們看看效果
到現在為止已經實現了注冊和登錄的功能,細心了解上述代碼后,主頁部分的功能編寫就能自己隨意發揮了,最后讓我們寫寫CSS包裝一下頁面
本人剛學php三天,很多描述都不夠專業,只能講出大致意思、作用,不要太在意。
總結
以上是生活随笔為你收集整理的【新手教程】从零搭建php动态网站的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(639):undefine和n
- 下一篇: 前端学习(1364):学生档案信息管理6