Übertragung auf Datenbank

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

  • Übertragung auf Datenbank

    Hey, Leute!
    Ich habe aus einem Buch folgenden Code rausgeschrieben, aber irgendwie werden die Daten nicht übertragen auf die Datenbank.
    Brauche Hilfe, danke!!

    PHP-Code:
    <?php
    if($_POST['flag']==1)
    {

    $_POST['name']=trim($_POST['name']);
    $_POST['email']=trim($_POST['email']);
    $_POST['farbe']=trim($_POST['farbe']);
    $_POST['geburt']=trim($_POST['geburt']);

    $_POST['name']=strip_tags($_POST['name']);
    $_POST['email']=strip_tags($_POST['email']);
    $_POST['farbe']=strip_tags($_POST['farbe']);
    $_POST['geburt']=strip_tags($_POST['geburt']);

    $_POST['name']=htmlentities($_POST['name']);
    $_POST['email']=htmlentities($_POST['email']);
    $_POST['farbe']=htmlentities($_POST['farbe']);
    $_POST['geburt']=htmlentities($_POST['geburt']);

    if(!
    $_POST['name']){$fehler="Bitte gib einen Namen ein.<br>";}
    if(!
    $_POST['email']){$fehler="Bitte gib eine eMail ein.<br>";}
    if(!
    $_POST['geburt']){$fehler="Bitte gib dein Geburtsdatum ein.<br>";}

    if(
    $fehler)

    {
    $meldung=".$fehler.";
    unset(
    $_POST['flag']);
    }

    else
    {
    $link mysql_connect("XXX""XXX""XXX");
    mysql_select_db("XXX"$link);
    $tabellenname="schueler";

    $sql="INSERT INTO $tabellenname (name, email, farbe, geburt) values 
    ( '"
    .mysql_real_escape_string($_POST['name'], 
    $link)."', '".mysql_real_escape_string($_POST['email'], 
    $link)."', '".mysql_real_escape_string($_POST['farbe'], 
    $link)."', '".mysql_real_escape_string($_POST['geburt'], $link)."', now())";

    mysql_query($sql$link);

    $meldung="Okay, $name.";
    }

    echo 
    $meldung;

    }

    if(!
    $_POST['flag'])
    {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="hidden" name="flag" value="1">
            <table border="1" width="290" align="center">
                <tr>
                    <td width="130">
                        <p align="center">Name</p>
                    </td>
                    <td width="144">
                        <p align="center"><input type="text" value="<?php echo 
    $_POST['name']; ?>" name="name">&nbsp;</p>
                    </td>
                </tr>
                <tr>
                    <td width="130">
                        <p align="center">eMail</p>
                    </td>
                    <td width="144">
                        <p align="center"><input type="text" name="email" 
    value="<?php echo $_POST['email']; ?>">&nbsp;</p>
                    </td>
                </tr>
                <tr>
                    <td width="130">
                        <p align="center">Lieblingsfarbe</p>
                    </td>
                    <td width="144">
                        <p align="center">&nbsp;
    <select value="<?php echo $_POST['farbe']; ?>" name="farbe" size="1">
                    <option>Blau</option>
                    <option>Rosa</option>
                    <option>Rot</option>
                    <option>Gelb</option>
                    <option>Grün</option>
                    <option>Weiß</option>
                    <option>Schwarz</option>
                    </select></p>
                    </td>
                </tr>
                <tr>
                    <td width="130">
                        <p align="center">Geburtsdatum</p>
                    </td>
                    <td width="144">
                        <p align="center">&nbsp;
    <input type="text" name="geburt" value="<?php echo $_POST['geburt']; ?
    >
    "></p>
                    </td>
                </tr>
            </table>
            <p align="
    center">
            <input type="
    submit" name="senden" value="SENDEN">&nbsp;</p>
        </form>
    <?php
    }
    ?>
    Zuletzt geändert von bettie; 28.04.2007, 16:05.

  • #2
    http://www.php-resource.de/forum/sho...threadid=50454

    Kommentar


    • #3
      Ich bekomme keine Fehlermeldung!
      Es wird nur die Bestätigung angezeigt, das es geklappt hat.
      Aber auf der Datenbank ist nichts angekommen!

      Kommentar


      • #4
        code umbrechen
        mysql_error und error_reporting einbauen.

        Kommentar


        • #5
          Hm...
          Jetzt kommt diese Meldung:

          Column count doesn't match value count at row 1
          --------------------------------------------------------------------------------
          $sql




          (tut mir leid, dass ich so dämlich bin, aber ich habe erst vor kurzer Zeit angefangen mich mit MySQL und so zu beschäftigen...)

          Kommentar


          • #6
            du sollst dein post editieren und die elendlangen zeilen umbrechen.

            und statt $sql würde ich gern das sehen, was in der variable drin ist.

            Kommentar


            • #7
              sorry ^^"
              hab ich nicht verstanden ^^"

              also:

              PHP-Code:
              $sql="INSERT INTO $tabellenname (name, email, farbe, geburt) values 
              ( '"
              .mysql_real_escape_string($_POST['name'], 
              $link)."', '".mysql_real_escape_string($_POST['email'], 
              $link)."', '".mysql_real_escape_string($_POST['farbe'], 
              $link)."', '".mysql_real_escape_string($_POST['geburt'], $link)."', now())"

              Kommentar


              • #8
                nein, den unterschied musst du dir klar machen:
                nicht was du hineinlegst, sondern was tatsächlich drin ist.

                die erste ausgabe war fast richtig. aber eben nur fast.

                Kommentar


                • #9
                  Tut mir leid, aber das habe ich jetzt nicht verstanden...

                  und was heißt fast richtig?
                  was habe ich denn falsch gemacht?

                  Kommentar


                  • #10
                    du hast an einer entscheidenden stelle den namen der variable $sql statt deren inhalt ausgegeben. das war nicht sinnvoll.

                    ich sehe zwar den eigentlichen fehler, aber du solltest lernen, wie man einen solchen entdeckt.

                    Kommentar


                    • #11
                      Och, bist du gemein...
                      Willst du mir nicht wenigstens einen Tipp geben, wo ich suchen soll oder wie ich ihn finde?

                      Kommentar


                      • #12
                        ja.
                        Jetzt kommt diese Meldung:

                        Column count doesn't match value count at row 1
                        --------------------------------------------------------------------------------
                        $sql
                        hier machst du eine ausgabe (die ja schon irgendwie hilfreich ist). ausgegeben wird u.a. "$sql". das ist nur der name der variable und ist uninteressant. an dieser stelle möchten wir jetzt aber ihren inhalt ausgeben.

                        Kommentar


                        • #13
                          tipp echo $sql; vor der sql-Abfrage und poste hier das Ergebnis.

                          Kommentar

                          Lädt...
                          X