Florian-Binder

Kunden hinzufügen

Jul 8th, 2021 (edited)
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.24 KB | None | 0 0
  1. <html>
  2.     <head>
  3.     <link rel="stylesheet" href="stylesheet.css">
  4.     <title>Kunden hinzufügen</title>
  5.     </head>
  6.     <body>
  7.         <h1>Kunden hinzufügen</h1>
  8.        
  9.         <!-- Eingabe Felder für die einzelnen Atribute -->
  10.         <form method="GET" action="kunden_hinzufuegen.php">
  11.             Nachname:<br>
  12.             <input type="text" name="Nachname">
  13.             <br>
  14.             Vorname:<br>
  15.             <input type="text" name="Vorname">
  16.             <br>
  17.             Land:<br>
  18.             <input type="text" name="land">
  19.             <br>
  20.             Geburtsdatum:<br>
  21.             <input type="text" name="geburtsdatum">
  22.             <br>
  23.             Ort:<br>
  24.             <input type="text" name="ortsname">
  25.             <br>
  26.             Strasse:<br>
  27.             <input type="text" name="strasse">
  28.             <br>
  29.             Postleitzahl:<br>
  30.             <input type="text" name="postleitzahl">
  31.             <br><br>
  32.             <input class="input" type="submit" name="save" value="Kunde hinzufügen">
  33.             <br><br>
  34.         </form>
  35.        
  36.        
  37.         <?php
  38.             $servername = "localhost";
  39.             $username = "verkäufer";
  40.             $password = "";
  41.             $dbname = "verkauf";
  42.  
  43.             // Verbindung zum Datenbankserver aufbauen
  44.             $conn = mysqli_connect($servername, $username, $password, $dbname);
  45.            
  46.             //Überprüfung ob in der Variable "Nachname" ein eintrag vorhanden ist
  47.             if($_GET['Nachname'])
  48.             {
  49.                 //Die lokalen Variablen mit dem Inhalt der globalen füllen
  50.                 $Nachname = $_GET['Nachname'];
  51.                 $Vorname = $_GET['Vorname'];
  52.                 $land = $_GET['land'];
  53.                 $ortsname = $_GET['ortsname'];
  54.                 $strasse = $_GET['strasse'];
  55.                 $postleitzahl = $_GET['postleitzahl'];
  56.                 $geburtsdatum = $_GET['geburtsdatum'];
  57.                                
  58.                 //Abfrage ob das eingegebene Land schon in der DB vorhanden ist                
  59.                 $sql = "SELECT idland FROM `land` WHERE `bezeichnung` = '$land'";
  60.                 $result = mysqli_query($conn, $sql);
  61.                 $row = $result->fetch_assoc();
  62.                 $landID = $row['idland'];
  63.                
  64.                 //Überprüfung ob das eingegebene Land schon in der DB vorhanden ist
  65.                 if ($landID == NULL) {
  66.                     //Land noch nicht vorhanden: Dann wird ein neuer Eintrag generiert
  67.                     $sql = "INSERT INTO land (bezeichnung) VALUES ('$land')";
  68.                     mysqli_query($conn, $sql);
  69.                    
  70.                     //Die "LandID" wird vom neu erstelten Objekt ausgelesen
  71.                     $sql = "SELECT idland FROM `land` WHERE `bezeichnung` = '$land'";
  72.                     $result = mysqli_query($conn, $sql);
  73.                     $row = $result->fetch_assoc();
  74.                     $landID = $row['idland'];
  75.                 }
  76.                
  77.                 //Abfrage ob der eingegebene Ort + PLZ schon in der DB vorhanden ist               
  78.                 $sql = "SELECT idort FROM `ort` WHERE `name` = '$ortsname' AND `plz` = '$postleitzahl'";
  79.                 $result = mysqli_query($conn, $sql);
  80.                 $row = $result->fetch_assoc();
  81.                 $ortID = $row['idort'];
  82.                
  83.                 if ($ortID == NULL) {
  84.                     //Ort + PLZ noch nicht vorhanden: Dann wird ein neuer Eintrag generiert
  85.                     $sql = "INSERT INTO ort (name, plz) VALUES ('$ortsname', '$postleitzahl')";
  86.                     mysqli_query($conn, $sql);
  87.                    
  88.                     //Die "OrtID" wird vom neu erstelten Objekt ausgelesen
  89.                     $sql = "SELECT idort FROM `ort` WHERE `name` = '$ortsname' AND `plz` = '$postleitzahl'";
  90.                     $result = mysqli_query($conn, $sql);
  91.                     $row = $result->fetch_assoc();
  92.                     $ortID = $row['idort'];
  93.                 }
  94.                
  95.                 //Eine neue Person wird angelegt. Dazu werden alle Information die bnötigt werden Übergeben.
  96.                 //Wichitg: Das alter wird durch eine Prozedur ausgerechnet. Somit muss diese nicht beim anlegen ausgerechnet werden.
  97.                 $sql = "INSERT INTO person (nachname, vorname, strasse, geburtsdatum, landID, ortID)
  98.                 VALUES ('$Nachname', '$Vorname', '$strasse', '$geburtsdatum','$landID', '$ortID')";
  99.                
  100.                 //Prüfung ob das Anlegen funktioniert hat. Wenn nein, wird der Fehlercode ausgegeben
  101.                 if (mysqli_query($conn, $sql)) {
  102.                     echo "Eine neu Person wurde angelet";
  103.                 }else {
  104.                 echo "Error: " . $sql . "
  105.                 " . mysqli_error($conn);
  106.                 }
  107.                
  108.                 //Dieser abschnit verhindert das beim neuladen der Seite doppelte Einträge in der DB erzeugt werden. Da die Globalen Variablen Unsichtbar bei POST und Sichtbar bei Get in der URL stehen.
  109.                 $host = $_SERVER['HTTP_HOST'];
  110.                 header("Location: http://$host/SQL-Abfrage/kunden_hinzufuegen.php");
  111.                 exit;
  112.             }
  113.             //Schließen der connection zum DB Server
  114.             mysqli_close($conn);
  115.         ?>
  116.         <button class="button_rueck" style="vertical-align:middle" onclick="document.location='Start.php'"><span>Startseite</span></button>
  117.     </body>
  118. </html>
Add Comment
Please, Sign In to add comment