Guest User

PHP Stemme system

a guest
Aug 10th, 2015
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.35 KB | None | 0 0
  1. <?php
  2.  
  3.     session_start();
  4.     if(empty($_SESSION['userhash'])){
  5.         echo '<b>Du skal være logget ind for at stemme.</b>';
  6.     }else{
  7.        
  8.         // Create connection
  9.         $conn = mysqli_connect("localhost", "username", "password", "dbname");
  10.         // Check connection
  11.         if (!$conn) {
  12.             die("Fejl ved forbindelse: " . mysqli_connect_error());
  13.         }
  14.        
  15.         $id = mysqli_real_escape_string($conn, $_GET['id']);
  16.         $rating = mysqli_real_escape_string($conn, $_GET['rating']);
  17.        
  18.         // Det højeste antal stjener der kan gives..
  19.         if($rating > 10){
  20.             $rating = 10;
  21.         }
  22.        
  23.         // Id er opskrift id, og bruger hash er session
  24.        
  25.         // Start med at tjek om opskriften overhovedet er i "opskrifter" table.
  26.        
  27.         $sql = "SELECT id, rating, rating_count FROM opskrifter WHERE url_path ='".$id."' LIMIT 1";
  28.         $result = mysqli_query($conn, $sql);
  29.         $data = mysqli_fetch_assoc($result);
  30.        
  31.         $opskrift_rating = $data['rating'];
  32.         $opskrift_rating_count = $data['rating_count'];
  33.         $ny_rating_count = $opskrift_rating_count + 1;
  34.        
  35.         if(mysqli_num_rows($result) > 0){
  36.            
  37.             // Opskriften eksisterer
  38.             // Hvis den eksisterer, så tjek om brugeren allerede har voted den.
  39.            
  40.             $sql = "SELECT id, rating FROM opskrift_ratings WHERE opskrift_id = '".$id."' AND bruger_hash= '".mysqli_real_escape_string($conn, $_SESSION['userhash'])."' LIMIT 1";
  41.             $result = mysqli_query($conn, $sql);
  42.             $data = mysqli_fetch_assoc($result);
  43.                
  44.             $bruger_rating = $data['rating'];
  45.                
  46.             if (mysqli_num_rows($result) > 0){
  47.            
  48.                 // Find ud af den nye rating, hvis man har rated i forvejen
  49.                 $temp_rating = $opskrift_rating * $opskrift_rating_count;
  50.                 $temp2 = $temp_rating - $bruger_rating;
  51.                 $ny_rating = ($temp2 + $rating) / $opskrift_rating_count;
  52.                
  53.                 // Tilføj den opdaterede rating til opskriften..
  54.                
  55.                 $sql = "UPDATE opskrifter SET rating = '".$ny_rating."' WHERE url_path = '".$id."' LIMIT 1";
  56.  
  57.                 if (mysqli_query($conn, $sql)) {
  58.                    
  59.                     $sql = "UPDATE opskrift_ratings SET rating = '".$rating."' WHERE opskrift_id = '".$id."' AND bruger_hash = '".mysqli_real_escape_string($conn,$_SESSION['userhash'])."' LIMIT 1";
  60.                     if (mysqli_query($conn, $sql)) {
  61.                         echo '<b>Din stemme er blevet opdateret.</b>';
  62.                     } else {
  63.                         echo "Der skete en fejl - x02";
  64.                     }
  65.                    
  66.                 } else {
  67.                     echo "Der skete en fejl - x01";
  68.                 }
  69.            
  70.             }else{
  71.                
  72.                 // Find ud af den nye gennemsnit rating på opskriften, og opdater rating count
  73.                 $temp_rating = $opskrift_rating * $opskrift_rating_count;
  74.                 $ny_rating = ($temp_rating + $rating) / ($opskrift_rating_count + 1);
  75.                
  76.                 // Bruger har endnu IKKE voted
  77.                 // Tilføj den nye rating til opskriften
  78.                
  79.                 $sql = "UPDATE opskrifter SET rating = '".$ny_rating."', rating_count = '".$ny_rating_count."' WHERE url_path = '".$id."' LIMIT 1";
  80.  
  81.                 if (mysqli_query($conn, $sql)) {
  82.                    
  83.                     $sql = "INSERT INTO opskrift_ratings (bruger_hash, opskrift_id, rating) VALUES('".mysqli_real_escape_string($conn, $_SESSION['userhash'])."', '".$id."', '".$rating."')";
  84.                     if (mysqli_query($conn, $sql)) {
  85.                         echo '<b>Din stemme er afgivet, tak!</b>';
  86.                     } else {
  87.                         echo "Der skete en fejl - x04";
  88.                     }
  89.                    
  90.                 } else {
  91.                     echo "Der skete en fejl - x03";
  92.                 }
  93.                
  94.             }          
  95.        
  96.         }else{
  97.             // Opskriften eksisterer ikke
  98.             echo 'Opskriften eksisterer ikke.';
  99.         }
  100.        
  101.         mysqli_close($conn);
  102.    
  103.     }
  104.    
  105. ?>
Advertisement
Add Comment
Please, Sign In to add comment