今天,我們將學習如何使用PHP實現五角星評論系統。這種系統通常用於讓使用者對某個產品、文章或服務進行評分,並顯示平均分數。
步驟1:建立HTML表單
我們首先需要建立一個HTML表單,讓使用者選擇要評分的項目,並給它們一個分數:
步驟2:處理表單資料
在submit.php檔案中,我們需要處理使用者提交的表單資料並將它們儲存到資料庫中。首先,我們將檢查使用者是否選擇了一個評分項,如果未選擇,則顯示錯誤訊息。
接下來,我們將建立一個資料庫連線並執行INSERT查詢,以將評分資料新增至資料庫。我們還將計算所有評分的平均值,並將其儲存在另一個資料庫表中。
<?php if(empty($_POST['rating'])) { echo "请选择评分项"; } else { $rating = $_POST['rating']; $conn = mysqli_connect("localhost", "username", "password", "database"); $query = "INSERT INTO ratings (rating) VALUES ('$rating')"; mysqli_query($conn, $query); $avg_query = "SELECT AVG(rating) as average FROM ratings"; $result = mysqli_query($conn, $avg_query); $row = mysqli_fetch_assoc($result); $average = $row['average']; $avg_insert = "INSERT INTO average_rating (average) VALUES ($average)"; mysqli_query($conn, $avg_insert); echo "感谢您的评分!"; } ?>
步驟3:顯示平均分數
最後,我們將向使用者顯示所有分數的平均值。我們將從資料庫中檢索此值,並將其顯示在網頁上。
<?php $conn = mysqli_connect("localhost", "username", "password", "database"); $avg_query = "SELECT AVG(average) as average FROM average_rating"; $result = mysqli_query($conn, $avg_query); $row = mysqli_fetch_assoc($result); $average = round($row['average'], 1); ?> <p>平均得分: <?php echo $average ?>/5</p>
步驟4:實現五角星評分
現在,我們已經能夠收集並顯示評分,但是我們想要向用戶提供更好的視覺體驗。因此,我們將使用五角星代替原始的單選按鈕。
為此,我們將使用HTML、CSS和JavaScript來建立五角星,並用PHP來處理使用者提交的表單資料。我們將用CSS將五角星設為灰色,並使用JavaScript在使用者將滑鼠懸停在星星上時將其著色為黃色。
<style> .unchecked { color: grey; } .checked { color: yellow; cursor: pointer; } </style> <span> <?php for($i = 1; $i <= 5; $i++) { echo "<i class='fa fa-star' data-value='$i'>"; } ?> </span> <script> function rate(element) { var stars = element.getElementsByTagName("i"); for(var i = 0; i < stars.length; i++) { stars[i].classList.remove("checked"); stars[i].classList.add("unchecked"); } var clicked = event.target.dataset.value; for(var i = 0; i < clicked; i++) { stars[i].classList.remove("unchecked"); stars[i].classList.add("checked"); } document.querySelector("input[name='rating']").value = clicked; } </script>
現在,當使用者懸停在星星上時,它們將著色為黃色,並且對應的評分值將放入表單資料中。
最後,我們將PHP提交處理的程式碼中的單選按鈕替換為隱藏的表單輸入。此輸入將在JavaScript中自動填入。
<span> <?php for($i = 1; $i <= 5; $i++) { echo "<i class='fa fa-star' data-value='$i'>"; } ?> </span> <input>
在這裡,我們可以將單選按鈕的名稱設為“rating”,並為其設定“required”屬性以確保使用者選擇一個項目。
現在,我們已經成功地實現了一個五角星評論系統,可以讓用戶將評分與網站、產品或文章關聯,並向其他用戶顯示平均分數。這種系統是一種簡單而有用的互動功能,可以提高用戶體驗,並幫助網站所有者更好地了解其受眾。
以上是PHP如何實作五角星評論(步驟)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。