Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- if(empty($_SESSION['userhash'])){
- echo '<b>Du skal være logget ind for at stemme.</b>';
- }else{
- // Create connection
- $conn = mysqli_connect("localhost", "username", "password", "dbname");
- // Check connection
- if (!$conn) {
- die("Fejl ved forbindelse: " . mysqli_connect_error());
- }
- $id = mysqli_real_escape_string($conn, $_GET['id']);
- $rating = mysqli_real_escape_string($conn, $_GET['rating']);
- // Det højeste antal stjener der kan gives..
- if($rating > 10){
- $rating = 10;
- }
- // Id er opskrift id, og bruger hash er session
- // Start med at tjek om opskriften overhovedet er i "opskrifter" table.
- $sql = "SELECT id, rating, rating_count FROM opskrifter WHERE url_path ='".$id."' LIMIT 1";
- $result = mysqli_query($conn, $sql);
- $data = mysqli_fetch_assoc($result);
- $opskrift_rating = $data['rating'];
- $opskrift_rating_count = $data['rating_count'];
- $ny_rating_count = $opskrift_rating_count + 1;
- if(mysqli_num_rows($result) > 0){
- // Opskriften eksisterer
- // Hvis den eksisterer, så tjek om brugeren allerede har voted den.
- $sql = "SELECT id, rating FROM opskrift_ratings WHERE opskrift_id = '".$id."' AND bruger_hash= '".mysqli_real_escape_string($conn, $_SESSION['userhash'])."' LIMIT 1";
- $result = mysqli_query($conn, $sql);
- $data = mysqli_fetch_assoc($result);
- $bruger_rating = $data['rating'];
- if (mysqli_num_rows($result) > 0){
- // Find ud af den nye rating, hvis man har rated i forvejen
- $temp_rating = $opskrift_rating * $opskrift_rating_count;
- $temp2 = $temp_rating - $bruger_rating;
- $ny_rating = ($temp2 + $rating) / $opskrift_rating_count;
- // Tilføj den opdaterede rating til opskriften..
- $sql = "UPDATE opskrifter SET rating = '".$ny_rating."' WHERE url_path = '".$id."' LIMIT 1";
- if (mysqli_query($conn, $sql)) {
- $sql = "UPDATE opskrift_ratings SET rating = '".$rating."' WHERE opskrift_id = '".$id."' AND bruger_hash = '".mysqli_real_escape_string($conn,$_SESSION['userhash'])."' LIMIT 1";
- if (mysqli_query($conn, $sql)) {
- echo '<b>Din stemme er blevet opdateret.</b>';
- } else {
- echo "Der skete en fejl - x02";
- }
- } else {
- echo "Der skete en fejl - x01";
- }
- }else{
- // Find ud af den nye gennemsnit rating på opskriften, og opdater rating count
- $temp_rating = $opskrift_rating * $opskrift_rating_count;
- $ny_rating = ($temp_rating + $rating) / ($opskrift_rating_count + 1);
- // Bruger har endnu IKKE voted
- // Tilføj den nye rating til opskriften
- $sql = "UPDATE opskrifter SET rating = '".$ny_rating."', rating_count = '".$ny_rating_count."' WHERE url_path = '".$id."' LIMIT 1";
- if (mysqli_query($conn, $sql)) {
- $sql = "INSERT INTO opskrift_ratings (bruger_hash, opskrift_id, rating) VALUES('".mysqli_real_escape_string($conn, $_SESSION['userhash'])."', '".$id."', '".$rating."')";
- if (mysqli_query($conn, $sql)) {
- echo '<b>Din stemme er afgivet, tak!</b>';
- } else {
- echo "Der skete en fejl - x04";
- }
- } else {
- echo "Der skete en fejl - x03";
- }
- }
- }else{
- // Opskriften eksisterer ikke
- echo 'Opskriften eksisterer ikke.';
- }
- mysqli_close($conn);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment