Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] "Datenbankeinspeisung" - kein Fehlen geht trotzdem nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] "Datenbankeinspeisung" - kein Fehlen geht trotzdem nicht

    Vorab: Habe das hier hinein gepostet da ich am lernen von PHP bin und vermute dass der fehler in PHP liegt.

    Nun denn: Ich versuche daten in eine bestehende MySQL Datenbank einzuspeisen. Wenn ich auf Abschicken klicke passiert jedoch gar nichts.

    Hier der Code:
    PHP-Code:
    <h3>Neuen Eintrag machen</h3>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <table border=0><tr><td>Name:</td><td><input type="text" name="name" /></td></tr>
    <tr><td>ICQ:</td><td><input type="text" name="icq" /></td></tr>
    <tr><td>Notizen:</td><td><textarea cols="60" rows="5" name="notizen"></textarea></td></tr></table></form>
    <input type="submit" value="Abschicken" name="submit">
    <?php
    if (!empty($_POST["submit"])) {
    mysql_connect("localhost""GEHEIM ;)""GEHEIN ;)") or die("Die Verbindng zu MySQL ist gescheitert. Bitte benachichtigen sie den Webmaster.");
    mysql_select_db("wers93") or die("Die Verbindng zur Datenbank ist gescheitert. Bitte benachichtigen sie den Webmaster.");
    $sql="INSERT INTO icq " .
    "(id, Name, ICQ, Notizen)" 
    " VALUES ('', '$_POST[name]', '$_POST[icq]', $_POST[notizen]')";
    if (
    mysql_query($sql)) {
     echo 
    "<p>Dateneingabe erfolgreich!</p>";
    }else {
     echo 
    "<p>Dateineingabe fehlgeschlagen - bitte versuchen sie es erneut</p>";
    }
    mysql_close();
    }
    ?>
    Danke im Vorraus

    wers1

  • wers1
    antwortet
    es geht auch mit der verkettung wie ich sie gemacht habe. das war nciht der fehler. ich vermute der fehler war nur in nem kleinem zeichen irgendwo.

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Zitat von Ramona86 Beitrag anzeigen
    Versuchs mal mit
    PHP-Code:
    if (isset($_POST["submit"])) { 
    Grüße
    Ramona
    Was versprichst du dir davon? !empty() impliziert immer isset(), prüft aber auch noch auf einen Leerstring und 0.
    Aber den Fehler habe ich ja schon aufgezeigt, du kannst innerhalb eines Stringst keine assoziativen Array-Elemente angeben, sondern musst diese mit dem Punkt-Operator damit verketten

    Einen Kommentar schreiben:


  • wers1
    antwortet
    der fehler ist zwar NOCH nicht gefunden habe aber das aus dem buch geändert udn es geht jetzt

    trotzdem vielen dank

    Einen Kommentar schreiben:


  • Ramona86
    antwortet
    Zitat von wers1 Beitrag anzeigen
    PHP-Code:
    if (!empty($_POST["submit"])) { 
    Versuchs mal mit
    PHP-Code:
    if (isset($_POST["submit"])) { 
    Grüße
    Ramona

    Einen Kommentar schreiben:


  • wers1
    antwortet
    hier ist das ganze mal hochgeladen zum vergewissern dass KEINE fehler kommen.

    kann aber sein dass ihr gleich welche erntet weil ich eure vorschläge jetzt mal ausprobiere.

    danke erstmal.

    SEITE




    Ok, denke dass ich alle varianten ausprobiert habe. nix geht. habe das ganze aus nem buch mit dem ich PHP lerne und ein bisschen umgeändert. werde jetzt mal die cd vom buch suchen und mal das beispiel modifizieren und hochladen.

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Du solltest dich mal ein wenig mit der Verknüpfung von Zeichenketten befassen. Dann würde dann deine Abfrage etwa so aussehen:
    PHP-Code:
    $sql "INSERT INTO icq 
                (Name, ICQ, Notizen)
            VALUES (
                '" 
    $_POST['name'] . "', 
                '" 
    $_POST['icq'] . "', 
                '" 
    $_POST['notizen'] . "'
            )"

    Die id brauchst du, sofern sie mit AUTOINCREMENT definiert wurde, nicht anzugeben.
    Und dass dein Code keine Fehler generiert, kannst du erzählen, wem du willst, aber nicht in diesem Forum.

    Einen Kommentar schreiben:


  • Ramona86
    antwortet
    Zitat von wers1 Beitrag anzeigen
    PHP-Code:
    $sql="INSERT INTO icq " .
    "(id, Name, ICQ, Notizen)" 
    " VALUES ('', '$_POST[name]', '$_POST[icq]', $_POST[notizen]')"
    Würde jetzt mal sagen du hast die einfach Anführungszeichen falsch gesetzt.

    Versuchs mal so:

    PHP-Code:
    $sql="INSERT INTO icq " .
    "(id, Name, ICQ, Notizen)" 
    " VALUES ('', $_POST['name'], $_POST['icq'], $_POST['notizen'])"
    Wenn das nicht klappt, versuchs mal mit $_POST["name"] usw...
    Bin mir grad nicht ganz sicher

    Gruß
    Ramona

    Einen Kommentar schreiben:


  • cycap
    antwortet
    Wie wärs wenn du dir $sql mal vorm Query ausgeben lässt und bei Dateneingabe fehlgeschlagen [man]mysql_error[/man]

    Einen Kommentar schreiben:

Lädt...
X