XAMMP-Code?

1 Antwort

Deine Codesnippets beinhalten eine Vielzahl an Fehlern.

Snippet 1:

  • Fehlender Doctype
  • Fehlender Titel im head
  • Es gibt kein Element namens b1
  • Im PHP-Code verwendest du mehrmals falsche Delimiter für deine Stringliterale; nutze entweder englische einfache oder doppelte Anführungszeichen:
'String'
"String"

Snippet 2 und 3:

  • Fehlender Doctype
  • Das align-Attribut gehört nicht mehr zum aktuellen Standard; verwende stattdessen CSS; dieser Guide kann dir dabei helfen
  • Das Element für Formulare heißt form, nicht from
  • Dem input-Tag fehlt eine spitze Klammer (>) am Ende
  • Du verwendest falsche Delimiter für deine Attributwerte; verwende stattdessen englische einfache oder doppelte Anführungszeichen

Snippet 4:

  • Du verwendest mehrmals falsche Delimiter für deine Stringliterale (vergleiche mit oben)
  • Die INSERT-Query muss in einem String stehen
$sql = "INSERT INTO lehrer (Name, Vorname, Alter, Gebdatum) VALUES ('dff', 'dvfv', '19', '17.08.2003')";
  • Das die INSERT-Query nicht an die Datenbank geschickt wird, ist dir hoffentlich bewusst; wie bei Snippet 1 benötigst du die query-Methode dafür

Im Zusammenspiel mit Snippet 4 empfängst du im Übrigen nicht die Formularwerte und verwertest sie. Ersteres könnte ungefähr so aussehen:

<?php
  if (!isset($_POST['Senden'])) {
    // no form data received, so do something else ...
    exit;
  }

  $input = $_POST['Eingabe'];
  $name = $_POST['Name'];
  // etc. ...

  // validate form data and use it ...

Einem Nutzer würde ich übrigens nicht die Möglichkeit geben, konkreten SQL-Code vorzuschreiben, da er das leicht missbrauchen könnte. Wenn er zwischen verschiedenen Befehlen (SELECT, INSERT, ...) wählen darf, würde ich ihm lediglich eine Liste an Radiobuttons vorsetzen und den Befehl im PHP-Code selbst zusammenbauen.

Beispiel:

$selectedCommand = $_POST['selected-command']; // read radiobutton
switch ($selectedCommand) {
  case 'select':
    $sql = 'SELECT * FROM lehrer';
    /* send query, etc. ... */
    break;
  case 'insert':
    $sql = 'INSERT INTO lehrer (Name, Vorname, Alter, Gebdatum) VALUES (?, ?, ?, ?)';
    /* send query, etc. ... */
    break;
  /* etc. ... */
  default:
    // invalid sql command ...
    break;
}

Wenn du dynamisch Werte in deinem Query einbauen möchtest (wie beim INSERT-Query), dann verwende Prepared Statements.