• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Bitte um Hilfe. MySQL Eintrag Funktioniert nicht!

stefanmahr.com

Neues Mitglied
Hallo Leute,

ich weiß, dass es sich hierbei im Grunde um eine sehr einfache Operation handelt, die ich normalerweise auch Problemlos hinbekommen, nur eben heute nicht.

Eventuell habt ihr ja eine Idee warum keine Daten in der Datenbank gespeichert werden.

PHP:
<?php
    $verbindung = mysql_connect ("localhost","gewinnspiel_lsn", "****") or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");

    mysql_select_db("gewinnspiel_lsn") or die ("Die Datenbank existiert nicht.");

    $vorname = $_POST["firstname"];
    $nachname = $_POST["lastname"];
    $usename = $_POST["nameuse"];
    $email = $_POST["email"];
    $antwort = $_POST["antwort"];
    $nutzungs = $_POST["nutzungs"];
    $bday = $_POST["bday"];
    $bmonth = $_POST["bmonth"];
    $byear = $_POST["byear"];
   
    $birthday = $bday . ". " . $bmonth . " " . $byear;
   
   
   
    if ($nutzungs != 1) {
        //header("Location: index.php?error=nutz");
    }
    else {
       
            $save = "INSERT INTO august (vorname, nachname, nameuse, email, antwort, birthday) VALUES ('$vorname', '$nachname', '$usename', '$email', '$antwort', '$birthday')";
                           
            $saved = mysql_query($save);
       
            if($saved == true) {
               echo "Eintrag war erfolgreich";
            }
            else {
               echo "Fehler beim Speichern";
           }   
       
        header("Location: index.php?success");
    }
?>

Liebe Grüße

Stefan
 
Zuerst einmal verwendest du noch die veraltete MySQL-Extension, du solltest dringend auf MySQLi umstellen!
Weiterhin übernimmst du die Daten aus einem Formular, ohne die zu escapen, das ist nicht ungefährlich!
Tabellen- und Spaltennamen gehören zwischen Backticks (`)
Man sollte MySQL fragen, ob es ein Problem gibt, in deinem Fall
PHP:
$saved = mysql_query($save)
   or die ("MySQL-Fehler: " . mysql_error());
 
Zuerst einmal verwendest du noch die veraltete MySQL-Extension, du solltest dringend auf MySQLi umstellen!
Weiterhin übernimmst du die Daten aus einem Formular, ohne die zu escapen, das ist nicht ungefährlich!
Tabellen- und Spaltennamen gehören zwischen Backticks (`)
Man sollte MySQL fragen, ob es ein Problem gibt, in deinem Fall
PHP:
$saved = mysql_query($save)
   or die ("MySQL-Fehler: " . mysql_error());
Danke für deine Antwort!

MySQLi hab ich erledigt! Was versteht man bitte unter Escapen? Finde dazu leider nichts eindeutiges im Internet.

MfG
Stefan
 
PHP:
<?php
    // MySQL Verbindung Herstellen

    $con = mysql_connect("localhost","gewinnspiel_lsn","*****","gewinnspiel_lsn");
        if (!$con)
          {
              die('Could not connect: ' . mysql_error());
          }
  
    // VARIABLEN ABRUFEN
  
    $vorname = $_POST["firstname"];
    $nachname = $_POST["lastname"];
    $usename = $_POST["nameuse"];
    $email = $_POST["email"];
    $antwort = $_POST["antwort"];
    $nutzungs = $_POST["nutzungs"];
    $bday = $_POST["bday"];
    $bmonth = $_POST["bmonth"];
    $byear = $_POST["byear"];
  
    $birthday = $bday . ". " . $bmonth . " " . $byear;
  
    // PRÜFEN OB NUTZUNGSBESTIMMUNGE AKZEPTIERT WURDEN
  
    if ($nutzungs != 1) {
        header("Location: index.php?error=nutz");
    }
    else {
        // DATEN IN DATENBANK SPEICHERN
      
        mysqli_query($con,"INSERT INTO august (vorname, nachname, nameuse, email, antwort, birthday) VALUES ('$vorname', '$nachname', '$usename', '$email', '$antwort', '$birthday')");
      
        //header("Location: index.php?success");
    }
?>

ESCAPEN IST NOCHT NICHT EINGEBAUT
 
Wieso mysql_connect? Da hast du aber nicht alles angepasst. Und das Escapen ist auch nicht drin. :(
 
PHP:
<?php
    // MySQL Verbindung Herstellen
    $con = mysqli_connect("localhost","gewinnspiel_lsn","*****","gewinnspiel_lsn");
    if (!$con)
       die('Could not connect: ' . mysqli_error());

    // VARIABLEN ABRUFEN
  
    $vorname =  mysqli_real_escape_string($con,$_POST["firstname"]);
    $nachname = mysqli_real_escape_string($con,$_POST["lastname"]);
    $usename =  mysqli_real_escape_string($con,$_POST["nameuse"]);
    $email =    mysqli_real_escape_string($con,$_POST["email"]);
    $antwort =  mysqli_real_escape_string($con,$_POST["antwort"]);
    $nutzungs = mysqli_real_escape_string($con,$_POST["nutzungs"]);
    $bday =     mysqli_real_escape_string($con,$_POST["bday"]);
    $bmonth =   mysqli_real_escape_string($con,$_POST["bmonth"]);
    $byear =    mysqli_real_escape_string($con,$_POST["byear"]);
  
    $birthday = $bday . ". " . $bmonth . " " . $byear;
  
    // PRÜFEN OB NUTZUNGSBESTIMMUNGE AKZEPTIERT WURDEN
  
    if ($nutzungs != 1) {
        header("Location: index.php?error=nutz");
    }
    else {
        // DATEN IN DATENBANK SPEICHERN
       
        $query = "INSERT
                     INTO
                        `august`
                         (`vorname`,
                          `nachname`,
                          `nameuse`,
                          `email`,
                          `antwort`,
                          `birthday`)
                      VALUES
                        ('$vorname',
                         '$nachname',
                         '$usename',
                         '$email',
                         '$antwort',
                         '$birthday')";
      
        mysqli_query($con, $query)
           or die ("MySQL-Error: " . mysqli_error($con);
      
        //header("Location: index.php?success");
    }
?>
 
Zurück
Oben