前端PHP Session的實例


登陸例子:(請注意一定要自己敲一遍,不要CV大法) 
首先上一下成果圖,激起同學們寫的欲望,登錄頁如下: 
 
點擊登陸之后如下:


說明哦了,么問題。接下來自己實現一下。

首先數據庫信息: 
新建一個名為 login 的數據庫,再建一個 user 表,表的結構如下圖:

然后開始編碼。

login.php代碼

  1. <?php
  2. session_start();
  3. if(( $_POST['username']!=null)&&( $_POST['password']!=null)){
  4. $userName = $_POST['username'];
  5. $password = $_POST['password'];
  6. //從db獲取用戶信息 數據庫信息改成自己的
  7. $conn = mysqli_connect('host','username','password','login');
  8. $res = mysqli_query($conn,"select * from user where `username` = '$userName' ");
  9. $row = mysqli_fetch_assoc($res);
  10. if($row['passwd']== $password){
  11. //密碼驗證通過,設置session,把用戶名和密碼保存在服務端
  12. $_SESSION['userName']= $userName;
  13. $_SESSION['password']= $password;
  14. //最后跳轉到登錄后的歡迎頁面 //注意:這里我們沒有像cookie一樣帶參數過去
  15. header('Location: welcome.php');
  16. }
  17. }
  18. ?>
  19. <html>
  20. <head>
  21. <!-- 這里指明頁面編碼 -->
  22. <metacharset="utf-8">
  23. </head>
  24. <body>
  25. <formaction=""method="POST">
  26. <div>
  27. 用戶名:<inputtype="text"name="username"/>
  28. 密 碼:<inputtype="text"name="password"/>
  29. <inputtype="submit"value="登錄">
  30. </div>
  31. </form>
  32. </body>
  33. </html>

welcome.php 這里我們用的是session中的信息,而不是像cookie一樣在url中帶參數過來

  1. <?php
  2. session_start();
  3. $userName = $_SESSION['userName'];
  4. ?>
  5. <html>
  6. <head>
  7. </head>
  8. <body>
  9. welcome,<?php echo $userName;?>
  10. </body>
  11. </html>

購物車的例子:(請注意一定要自己敲一遍,不要CV大法) 
數據庫信息:建立名為test的數據庫,庫中有個shop表,表結構如下圖: 

開始編碼吧!

goodsList.php 這個是商品展示頁,效果圖如下: 
 
說明一下,如果是第一次購買某物品,則在購物車中加入該商品信息和計算總價,如果再次點擊購買,則已購商品數量加1,總價重新計算,查看購物車鏈接可以到購物車頁面。

  1. <?php
  2. $goods = array();
  3. //從數據庫獲取商品信息存入$goods二維數組
  4. $i =0;
  5. //這里請換上自己的數據庫相關信息
  6. mysqli_connect('host','username','password','test');
  7. $res = mysqli_query($conn,'select * from shop');
  8. //這里把商品信息放到$goods二維數組,每一維存的是單個
  9. //商品的信息,比如商品名、價格。
  10. while($row = mysqli_fetch_assoc($res)){
  11. $goods[$i]['id']= $row['id'];
  12. $goods[$i]['name']= $row['name'];
  13. $goods[$i]['price']= $row['price'];
  14. $i++;
  15. }
  16. ?>
  17. <!DOCTYPE html>
  18. <html>
  19. <head>
  20. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
  21. </head>
  22. <body>
  23. <?php
  24. //取出商品信息顯示在頁面上,並添加購買功能
  25. foreach($goods as $value){
  26. echo ' 商品名 '. $value['name'].' 價格 '. $value['price'];
  27. echo "<a href=buy.php?name=". $value['name'].'&price='. $value['price'].">購買</a>";
  28. echo '<br />';
  29. }
  30. ?>
  31. <ahref="shoppingCart.php">查看購物車</a>
  32. </body>
  33. </html>

buy.php 此頁完成購買功能,然后再次跳轉到商品列表。主要是做了在session中處理購買商品操作。

  1. <html>
  2. <head>
  3. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
  4. </head>
  5. <body>
  6. <?php
  7. //開啟session
  8. session_start();
  9. //獲取傳過來的商品名和價格
  10. $name = $_GET['name'];
  11. $price = $_GET['price'];
  12. //把session中的商品信息和傳過來的(剛買的)商品信息對比
  13. $goods = $_SESSION['goods'];
  14. if($name == $goods[$name]['name']){
  15. //買過的話,則總價格增加,相應商品數量增加
  16. $_SESSION['totalPrice']+= $price;
  17. $goods[$name]['number']+=1;
  18. }else{
  19. //第一次買的話,將相應的商品信息添加到session中
  20. $goods[$name]['name']= $name;
  21. $goods[$name]['price']= $price;
  22. $goods[$name]['number']+=1;
  23. $_SESSION['totalPrice']+= $price;
  24. }
  25. $_SESSION['goods']= $goods;
  26. //購買處理完畢后跳轉到商品列表
  27. header('location: goodsList.php');
  28. ?>
  29. </body>
  30. </html>

shoppingCart.php 此頁展示購物車中的商品、價格、總價等信息。

效果圖如下: 

  1. <html>
  2. <head>
  3. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
  4. </head>
  5. <body>
  6. <?php
  7. session_start();
  8. //將session中的商品信息(即購物車中的商品)和總價顯示到頁面
  9. $goods = $_SESSION['goods'];
  10. echo '您買了:<br />';
  11. foreach($goods as $value){
  12. echo $value['name'].' 價格 '. $value['price'].' 數量 '. $value['number'].'<br />';
  13. }
  14. echo '總價:'. $_SESSION['totalPrice'].'<br />';
  15. ?>
  16. <ahref="goodsList.php">返回商品列表</a>
  17. </body>
  18. </html>

購物車的例子完成了,自己親自完成一遍后是不是很有成就感!!你很厲害!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM