INSERT mysqli Bedingungen

marcaurel

Mitglied
Hallo,

ich hab vor zwei Tagen schoneinmal hier wegen eines INSERT-Problems um Rat gefragt. Damals musste ich das mysql in mysqli umschreiben. Nun habe ich bei mysqli ein Problem. Zunächst einmal den Code:

PHP:
<?php
include("connect.php");
 
$email = mysqli_real_escape_string($connection, $_POST['email']);
$passwort = mysqli_real_escape_string($connection, $_POST['passwort']);
$name = mysqli_real_escape_string($connection, $_POST['name']);

if($email !="" && $passwort !="" && $name!="")
{
if($passwort == $_POST['passwort2'])
{
$abfrage="INSERT INTO daten (email, passwort, name) 
    VALUES ('".$email."', '".$passwort."', '".$name."'
    )";
if($connection->query($sql) === True){
  print("<h4><font color=#FF0000>Die Daten wurden erfolgreich hochgeladen!</font></h4><p><h2></h2>");
}else{
  die("Fehler!");
}
}
else
{
    echo "<h4><font color=#FF0000>Die Passwörter stimmen nicht überein!</font></h4>";
}


}
else{
    echo "<h4><font color=#FF0000>Bitte f&uuml;llen Sie alle Felder aus!</font></h4>";
}

?>

Mitlerweile funktioniert es, dass die Daten alle in die Datenbank eingetragen werden. Problematisch ist aber, dass die Bedingungen nicht überprüft werden und in diesen Fällen keine Fehlermeldungen auftauchen. So kann man auch ohne etwas einzutragen submit drücken und in der Datenbank öffnet sich eine neue (dann leere) Zeile. Auch werden die beiden Passwörter nicht überprüft, ob sie übereinstimmen :(

Fällt euch villeicht auf wo der Fehler liegen könnte?

Danke für Eure Antworten :)
 
https://www.tutorials.de/threads/denkfehler-bei-passwortueberpruefung-wenn-uebergeben-wird.165292/

Fünf Anmerkungen:
  1. Das empfohlene Thema stammt aus dem Jahre 2004.
    Deshalb bitte nicht irritiert sein, dass darin ab Post #6 die mysql_*-Funktionen auftauchen.
  2. Dieses Thema steht exemplarisch für diverse Themen, die hier in der Vergangenheit dieses Problem aufgegriffen hatten.
    Also bitte zukünftig zuerst die Suchfunktion unseres Forums nutzen, um sich zu vergewissern, ob seit dem Start von tutorials.de (September 2000) in dem riesigen Fundus an (PHP)-Themen (PHP > 48.400 !!!) nicht schon etwas existiert, das das aufgekommenene Problem behandelt und gelöst hat - Danke! :)
  3. "True" wird entweder durchgängig groß (TRUE), oder durchgängig klein (true) geschrieben (gilt auch für "FALSE" / "false").
  4. @ <font color=#FF0000>:
    Das color-Attribut ist völlig veraltet (stammt noch aus den "Gründerzeiten" von HTML Anfang/Mitte der '90er-Jahre, HTML-Versionen 2.0 - 4.0). Die Gestaltung/Formatierung von Elementen bzw. derer Inhalte wird seit HTML 4.01 u. XHTML 1.0 (1999 / 2000) mit CSS erledigt, denn es gilt seitdem der Grundsatz, Inhalt und Layout strikt voneinander zu trennen.
  5. @ <p><h2></h2>:
    Überschriften <h1-6> dürfen nicht in Textabsätzen <p> enthalten sein. Zudem fehlt der schliessende </p>-Tag.

[edit]Tipp-Ex[/edit]
 
Zuletzt bearbeitet:
Zurück