Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbserverprogrammering/projekt/snake_oil_seller/php/

about_us.php
add_to_cart.php
admin.php
buy_cart.php
config.php
contact.php
create_products.php
create_tables.php
createtable.php
dbconnection.php
delete_post.php
delete_tables.php
deletepost.php
deletetable.php
entry.php
header.php
insert_posts.php
insertposts.php
leaderboard.php
log_in.php
log_out.php
main.php
my_account.php
question_maker.php
quiz_form.php
quiz_list.php
quiz_maker.php
result.php
select_posts.php
selectposts.php
shop.php
shop_item.php
shopping_cart.php
sign_in.php
title_card.php
update_posts.php
updateposts.php
user_verified.php
verify_page.php

create_products.php

390 lines UTF-8 Windows (CRLF)
<?php
  
// Initierar sessionen
  
session_start();

  
/** @var PDO $dbconn*/
  
include ("dbconnection.php");
?>
<!DOCTYPE html>
<html lang="sv">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>create_products</title>
  <style>body {background-color: rgb(98, 129, 65);}</style>
</head>
<body>
  <?php
    
// Skapar en ny klass
    
if (isset($_POST["create_class"])) {
      
$sql "INSERT INTO product_classes (name, info, discount, reg_date)
      VALUES (?, ?, ?, ?)"
;
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["create_class"], ""1time());
      
$stmt->execute($data);

      echo 
"En ny klass har skapats";
    }

    
// Skapar en ny produkt
    
if (isset($_POST["create_product"]) && isset($_POST["class_type"])) {
      
$sql "INSERT INTO product_items (name, price, info, img, amount, type_id, reg_date)
      VALUES (?, ?, ?, ?, ?, ?, ?)"
;
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["create_product"], 0"saknar information""bild_exempel.png""69"$_POST["class_type"], time());
      
$stmt->execute($data);

      echo 
"En ny produkt har skapats";
    }

    
// Ändrar / lägger till produktens pris
    
if (isset($_POST["product_set_price"]) && isset($_POST["product_type"])) {
      
$sql "UPDATE product_items SET price = ? WHERE id = ?";
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["product_set_price"], $_POST["product_type"]);
      
$stmt->execute($data);

      echo 
"En produkt har få ett / ett nytt pris";
    }

    
// Ändrar / lägger till produktens information
    
if (isset($_POST["product_set_info"]) && isset($_POST["product_type"])) {
      
$sql "UPDATE product_items SET info = ? WHERE id = ?";
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["product_set_info"], $_POST["product_type"]);
      
$stmt->execute($data);

      echo 
"En produkt har få en / en ny informations sträng";
    }


    
// Ändrar / lägger till produktens bild
    
if (isset($_POST["product_set_img"]) && isset($_POST["product_type"])) {
      
$sql "UPDATE product_items SET img = ? WHERE id = ?";
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["product_set_img"], $_POST["product_type"]);
      
$stmt->execute($data);

      echo 
"En produkt har få en / en ny bild";
    }


    
// Ändrar / lägger till produktens antal
    
if (isset($_POST["product_set_amount"]) && isset($_POST["product_type"])) {
      
$sql "UPDATE product_items SET amount = ? WHERE id = ?";
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["product_set_amount"], $_POST["product_type"]);
      
$stmt->execute($data);

      echo 
"En produkt har få en / en ny mängd i lagret";
    }

    
// Flyttar produkt mellan klasserna
    
if (isset($_POST["product_current_class"]) && isset($_POST["product_new_class"])) {
      
$sql "UPDATE product_items SET type_id = ? WHERE id = ?";
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["product_new_class"], $_POST["product_current_class"]);
      
$stmt->execute($data);

      echo 
"En produkt har flyttas mellan klasserna";
    }

    
// Tar bort en produkt
    
if (isset($_POST["remove_product"])) {
      
$sql "DELETE FROM product_items WHERE id = ?";
      
$stmt $dbconn->prepare($sql);

      
$data = array($_POST["remove_product"]);
      
$stmt->execute($data);

      echo 
"En produkt har blivit borttagen";
    }

    
// Tar bort en klass
    
if (isset($_POST["remove_class"])) {

      
// Flyttar alla produkter från klassen till "osorterad" (type_id = 0)
      
$sql "UPDATE product_items SET type_id = 0 WHERE type_id = ?";
      
$stmt $dbconn->prepare($sql);
      
$stmt->execute([$_POST["remove_class"]]);

      
// Tar bort klassen
      
$sql "DELETE FROM product_classes WHERE id = ?";
      
$stmt $dbconn->prepare($sql);
      
$stmt->execute([$_POST["remove_class"]]);

      echo 
"Klassen togs bort och produkterna flyttades";
    }

  
?>
  <h2>Produktshantering</h2><br>
  <strong>Skapa klass eller produkt-></strong>
  <br><br>
  <!-- Skapa en ny klass -->
  <strong>Lägg till ny klass:</strong>
  <form method="post" action="">
    <input type="text" name="create_class" placeholder="Klassens namn">
    <button type="submit">Skapa</button>
  </form>
  <!-- Skapa en ny produkt -->
  <strong>Lägg till ny produkt:</strong>
  <form method="post" action="">
    <input type="text" name="create_product" placeholder="Produktens namn">
    Välj klass:
    <select name="class_type">
      <?php
        
// Hämtar alla klasser
        
$sql "SELECT * FROM product_classes";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    <button type="submit">Skapa</button>
  </form>
  <br>
  <strong>Redigera klass eller produkt-></strong>
  <br><br>
  <!-- Redigera produktens pris -->
  <strong>Redigera produktens pris:</strong>
  <form method="post" action="">
    </select>
    Välj produkt:
    <select name="product_type">
      <?php
        
// Hämtar alla produkter
        
$sql "SELECT * FROM product_items";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    Sätt pris:
    <input type="text" name="product_set_price" placeholder="Produktens pris"></td>
    <button type="submit">Ändra/sätt värde</button>
  </form>
  <!-- Redigera produktens information -->
  <strong>Redigera produktens information:</strong>
  <form method="post" action="">
    Välj produkt:
    <select name="product_type">
      <?php
        
// Hämtar alla produkter
        
$sql "SELECT * FROM product_items";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    Skriv information:
    <input type="text" name="product_set_info" placeholder="Produktens information">
    <button type="submit">Ändra/sätt värde</button>
  </form>

  <!-- Redigera produktens bild -->
  <strong>Redigera produktens bild:</strong>
  <form method="post" action="">
    Välj produkt:
    <select name="product_type">
      <?php
        
// Hämtar alla produkter
        
$sql "SELECT * FROM product_items";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    Skriv information:
    <input type="text" name="product_set_img" placeholder="bild_exempel.png">
    <button type="submit">Ändra/sätt värde</button>
  </form>


  <!-- Redigera produktens antal i lager -->
  <strong>Redigera produktens antal i lager:</strong>
  <form method="post" action="">
    Välj produkt:
    <select name="product_type">
      <?php
        
// Hämtar alla produkter
        
$sql "SELECT * FROM product_items";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    Skriv information:
    <input type="text" name="product_set_amount" placeholder="Produktens antal">
    <button type="submit">Ändra/sätt värde</button>
  </form>


  <!-- Flytta produkt mellan klasser -->
  <strong>Flytta produkt mellan klasser:</strong>
  <form method="post" action="">
    Välj product:
    <select name="product_current_class">
      <?php
        
// Hämtar alla produkter
        
$sql "SELECT * FROM product_items";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    Välj ny klass:
    <select name="product_new_class">
      <?php
        
// Hämtar alla klasser
        
$sql "SELECT * FROM product_classes";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    <button type="submit">Ändra klass</button>
  </form>
  <!-- Ta bort en produkt -->
  <strong>Ta bort produkt:</strong>
  <form method="post" action="">
    Välj produkt:
    <select name="remove_product">
      <?php
        
// Hämtar alla produkter
        
$sql "SELECT * FROM product_items";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    <button type="submit">Ta bort produkt</button>
  </form>
  <!-- Ta bort en klass -->
  <strong>Ta bort klass:</strong>
  <form method="post" action="">
    Välj klass:
    <select name="remove_class">
      <?php
        
// Hämtar alla klasser
        
$sql "SELECT * FROM product_classes WHERE id != 0";
        
$stmt $dbconn->prepare($sql);

        
$stmt->execute(array());

        
// Skriver ut alla klasser som olika listor
        
while ($res $stmt->fetch(PDO::FETCH_ASSOC)) {
          
$id $res["id"];
          
$name $res["name"];
          echo 
"<option value='$id'>$name</option>";
        }
      
?>
    </select>
    <button type="submit">Ta bort klass</button>
    (lägger alla produkter från klassen till en osorterad lista)
  </form>
  
  <!-- Se alla produkter i respektive klass -->
  <br><h2>Se alla produkter</h2>
  <?php
    
// Hämtar alla klasser
    
$sql_class "SELECT * FROM product_classes";
    
$stmt_1 $dbconn->prepare($sql_class);

    
$stmt_1->execute(array());
    
// Skriver ut alla klasser som olika listor
    
while ($res_class $stmt_1->fetch(PDO::FETCH_ASSOC)) {
      
$class_name $res_class["name"];

      echo 
"<ul><strong>$class_name:</strong>";
      
$id $res_class["id"];

      
// Hämtar alla produkter och dess innehåll
      
$sql_product "SELECT * FROM product_items WHERE type_id = ?";
      
$stmt_2 $dbconn->prepare($sql_product);
      
$stmt_2->execute(array($id));

      
$res_product $stmt_2->fetch(PDO::FETCH_ASSOC);

      if (!
$res_product) {
        echo 
"<li>Klass saknar produkter</li>";

      } else {
        do {
          
$product_name $res_product["name"];
          
$product_price $res_product["price"];
          
$product_info $res_product["info"];
          
$product_img $res_product["img"];
          
$product_amount $res_product["amount"];
          
          echo 
"<li>$product_name - $product_price kr - $product_info - $product_img - $product_amount st</li>";
        } while (
$res_product $stmt_2->fetch(PDO::FETCH_ASSOC));
      }

      echo 
"</ul>";
    }
  
?>
</body>
</html>