contoh aplikasi php SESSION (troli beli-belah)
Contoh aplikasi SESI
Contoh log masuk: (sila ambil perhatian bahawa anda mesti menaipnya sendiri, tiada kaedah CV)
Pertama, lihat carta keputusan untuk merangsang keinginan pelajar untuk menulis halaman log masuk adalah seperti berikut:
Terangkan apa masalahnya. Seterusnya, laksanakan sendiri.
Maklumat pangkalan data pertama:
Buat pangkalan data baharu bernama log masuk, dan kemudian buat jadual pengguna Struktur jadual adalah seperti berikut:
log masuk. php
<?php session_start(); if ( ( $_POST['username'] != null ) && ( $_POST['password'] != null ) ) { $userName = $_POST['username']; $password = $_POST['password']; //從db獲取用戶信息 數(shù)據(jù)庫信息改成自己的 $conn = mysqli_connect('host','username','password','login'); $res = mysqli_query($conn,"select * from user where `username` = '$username' "); $row = mysqli_fetch_assoc($res); if ($row['password'] == $password) { //密碼驗證通過,設置session,把用戶名和密碼保存在服務端 $_SESSION['username'] = $username; $_SESSION['password'] = $password; //最后跳轉(zhuǎn)到登錄后的歡迎頁面 //注意:這里我們沒有像cookie一樣帶參數(shù)過去 header('Location: welcome.php'); } } ?> <html> <head> <!-- 這里指明頁面編碼 --> <meta charset="utf-8"> </head> <body> <form action="" method="POST"> <div> 用戶名:<input type="text" name="username" /> 密 碼:<input type="text" name="password" /> <input type="submit" value="登錄"> </div> </form> </body> </html>
selamat datang.php Di sini kami menggunakan maklumat dalam sesi, bukannya membawa parameter dalam URL seperti kuki
<?php session_start(); $username = $_SESSION['username']; ?> <html> <head> </head> <body> welcome,<?php echo $username;?> </body> </html>
Contoh troli beli-belah: (Sila ambil perhatian bahawa anda mesti menaipnya. sendiri, jangan CV Dafa)
Maklumat pangkalan data: Buat pangkalan data bernama ujian Terdapat jadual kedai dalam perpustakaan. >
goodsList.php Ini ialah halaman paparan produk, renderingnya adalah seperti berikut:
<?php $goods = array(); //從數(shù)據(jù)庫獲取商品信息存入$goods二維數(shù)組 $i = 0; //這里請換上自己的數(shù)據(jù)庫相關(guān)信息 $conn = mysqli_connect('host','username','password','test'); $res = mysqli_query($conn,'select * from shop'); //這里把商品信息放到$goods二維數(shù)組,每一維存的是單個 //商品的信息,比如商品名、價格。 while ($row = mysqli_fetch_assoc($res)) { $goods[$i]['id'] = $row['id']; $goods[$i]['name'] = $row['name']; $goods[$i]['price'] = $row['price']; $i++ ; } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> </head> <body> <?php //取出商品信息顯示在頁面上,并添加購買功能 foreach ($goods as $value) { echo ' 商品名 ' . $value['name'] . ' 價格 ' . $value['price']; echo "<a href=buy.php?name=" . $value['name'] . '&price=' . $value['price'] .">購買</a>"; echo '<br />'; } ?> <a href="shoppingCart.php">查看購物車</a> </body> </html>buy.php Halaman ini melengkapkan fungsi pembelian dan kemudian melompat ke senarai produk sekali lagi. Tujuan utama adalah untuk memproses pembelian barang dalam sesi tersebut.
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> </head> <body> <?php //開啟session session_start(); //獲取傳過來的商品名和價格 $name = $_GET['name']; $price = $_GET['price']; //把session中的商品信息和傳過來的(剛買的)商品信息對比 $goods = $_SESSION['goods']; if ($name == $goods[$name]['name']) { //買過的話,則總價格增加,相應商品數(shù)量增加 $_SESSION['totalPrice'] += $price; $goods[$name]['number'] += 1; } else { //第一次買的話,將相應的商品信息添加到session中 $goods[$name]['name'] = $name; $goods[$name]['price'] = $price; $goods[$name]['number'] += 1; $_SESSION['totalPrice'] += $price; } $_SESSION['goods'] = $goods; //購買處理完畢后跳轉(zhuǎn)到商品列表 header('location: goodsList.php'); ?> </body> </html>
shoppingCart.php Halaman ini memaparkan produk, harga, jumlah harga dan maklumat lain dalam troli beli-belah.
Rendering adalah seperti berikut:
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> </head> <body> <?php session_start(); //將session中的商品信息(即購物車中的商品)和總價顯示到頁面 $goods = $_SESSION['goods']; echo '您買了:<br />'; foreach ($goods as $value) { echo $value['name'] . ' 價格 ' . $value['price'] . ' 數(shù)量 ' . $value['number'] . '<br />'; } echo '總價:' . $_SESSION['totalPrice'] . '<br />'; ?> <a href="goodsList.php">返回商品列表</a> </body> </html>
Contoh troli beli-belah selesaikah anda? ! awak baik! !