[PHP] Undefined Index & MySQL-Syntax Error????

  • :D Hallo Leute
    da wir in der Schule in Softwareentwicklung PHP lernen und auch darin maturieren müssen, wollte ich schon mal ein bisschen herum probieren....


    Hab ein Formular erstellt das Daten in eine MySQL Datenbank speichern soll:





    Wenn ich über PHP-MyAdmin aufrufe kommen folgenden Notice:


    Notice: Undefined index: name in C:\xampp\htdocs\website_alm\gb.php on line 70


    Notice: Undefined index: email in C:\xampp\htdocs\website_alm\gb.php on line 71


    Notice: Undefined index: nachricht in C:\xampp\htdocs\website_alm\gb.php on line 72
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , )' at line 1



    ich komm einfach nicht drauf :D
    Hoffe jemand kann mir weiter helfen....


    MFG Cpt. Reis




    // EDIT: Errors hinzugefügt


  • sql syntax war falsch und du musst abfragen ob die variable gesetzt ist wenn ja = los legen

  • Funktioniert super, danke! :)


    In Sachen PHP bin ich blutiger Anfänger...
    Sollte ein Gästebuch werden... Wie kann ich denn jetzt z.B. machen dass ich unter dem Formularfeld die 10 letzten Einträge angezeigt bekomme?
    Irgendeine Schleife und ein mysql-fetch()- Befehl schätze ich mal... oder?



    MFG und Danke schonmal für die Hilfe! :thumbup:

  • Erstmal: Bitte Benutzereingaben immer escapen!


    Zu der neuen Frage: LIMIT.


    SQL
    SELECT * FROM rettenbachalm LIMIT 10


    Ist aus dem Kopf, müsste aber stimmen.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • PHP
    $query = "INSERT INTO rettenbachalm (name, email, nachricht) VALUES ('".mysql_real_escape_string($name)."','".mysql_real_escape_string($email)."','".mysql_real_escape_string($nachricht)."')";

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Ah Danke! :)


    Hab jetz die Abfrage:


    PHP
    $eintrage = "SELECT * FROM 'rettenbachalm'.'gaestebuch' LIMIT 0,10";
    mysql_query($eintrage);


    Da wird allerdings auf der Homepage noch nix angezeigt....
    Wie kann ich denn jetzt machen dass die Einträge auch auf der HP angezeigt werden und gelesen werden können?



    MFG :thumbup:

  • Fetchen, gibt einige Möglichkeiten, ich persänlich nutze mysql_fetch_object, da es am schnellsten ist, aber das ist minimal, deshalb kannst du auch mysql_fetch_assoc nutzen, das ist am einfachsten und hier vermutlich am besten zu nutzen. Schau dir einfach das Beispiel an, das ist gut zu verstehen (Wichtig: Schleife).

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Okay jetz bekomme ich Warnings:


    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in C:\xampp\htdocs\website_alm\gb.php on line 95


    Warning: mysql_free_result() expects parameter 1 to be resource, string given in C:\xampp\htdocs\website_alm\gb.php on line 101




    Das ist der Teil den ich jetzt neu dazu gemacht hab ( zur Ausgabe der Daten)...


    :S

  • Teste mal. ob due überhaupt ein Result hast.

    PHP
    if($eintrage)


    Da wird mit Sicherheit der Fehler liegen.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • So sieht das jetzt aus. Die Funktion $result = mysql_query($eintrage) or die(mysql_error()); schlägt an, der Browser sagt mir jetz das es ein Fehler im SQL Code ist.
    Nur fällt mir kein Fehler im SQL auf....



    // EDIT: Hab den Fehler: Die Hochkommas...


    Aber jetzt kommen Warnings:
    Notice: Undefined index: name in C:\xampp\htdocs\website_alm\gb.php on line 102


    Notice: Undefined index: email in C:\xampp\htdocs\website_alm\gb.php on line 103


    Notice: Undefined index: nachricht in C:\xampp\htdocs\website_alm\gb.php on line 104


    Schätze mal für jeden Eintrag in die DB kommen diese 3....
    Was sind das für Warnings?...


    PHP
    echo $row['name']; // LINE 102
    echo $row['email'];  // LINE 103
    echo $row['nachricht']; //LINE 104

    Einmal editiert, zuletzt von Cpt.Reis ()

  • SQL
    SELECT * FROM 'rettenbachalm'.'gaestebuch' LIMIT 0,10


    Wenn du mit rettenbachalm die Datenbank meinst ist das schonmal Mist. Probiere einfach mal nur:

    SQL
    SELECT * FROM 'gaestebuch' LIMIT 0, 10

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Hab nun auch die Warnings weg bekommen wieder mit der if-Abfrage.


    Sieht jetzt alles so aus:


    Nur wird auf der Website nix ausgegeben...
    Ganz normal die Seite, das Formular, und da wo eigentlich die Einträge stehen sollten ist nix :D


    Shit ^^



    // EDIT: Screen wie es aussieht...

  • Ist es beabsichtigt, dass die EInträge nur angezeigt werden, wenn man das Feld abgesendet hat ($_POST gesetzt ist)?

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Das ganze soll so funktionieren:


    Ein User hinterlässt Name, E-Mail und seine Nachricht klickt auf Absenden.
    Die Datenbank speichert das alles und gibt es dann darunter aus - ein Gästebuch einfach, bei dem die letzten 10 Einträge von den Usern immer unter dem Formular unter "Vorherige Einträge" (siehe Screen) angezeigt werden...


    ^^ Ich glaube du weißt was ich meine?



    // Edit: Sorry ich kann das halt noch nicht so gut alles ^^ Weiß denn keiner weiter??



    ...

    Einmal editiert, zuletzt von Cpt.Reis ()