INSERT über PHP geht nicht Bitte Hilfeeee

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

  • INSERT über PHP geht nicht Bitte Hilfeeee

    Hallo, nun bin ich nach 2 Tagen rastloser Suche nach
    PHP Experten nun hoffentlich am Ende meiner Qualvollen
    Webreise... Ich hab ein Problem beim INSERT in eine MySQL
    DB , da erscheinen aus meinem html Formular nur leere Datensätze !! wenn überhaupt.. schaut Euch bitte bitte ma mein skript an :

    1. form.html

    <html>
    <head><title>formular</title></head>
    <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
    <form method="get" action="sonar.php">
    <table border="0" align="center">
    <tr>
    <td>Vorname</td>
    <td><input type="text" name="$vorname" size="50"></td>
    </tr><tr>
    <td>Name</td>
    <td><input type="text" name="$name" size="50"></td>
    </tr>
    <tr>
    <td> </td>
    <td><input type="submit" name="submit" value="Abschicken"></td>
    </tr>

    </table>
    </form>


    </body>

    </html>

    2. sonar.php

    <html>
    <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
    <?php

    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("kundendb",$db);
    $sql = "INSERT INTO kunden (vorname,name) VALUES ('$vorname','$name')";
    $result = mysql_query($sql,$db);
    echo "Ihr Daten wurden abgeschickt! Vielen Dank!<br><br>";


    ?>



    </body>
    </html>

    PS.: Bitte Bitte helft mir , das ist meine letzte Hoffnung, ich muss ne komplette HP in 2 Tagen fertigen

  • #2
    Die Dollarzeichen in den Inputfeldern sinds! Mit Dollars wird PHP deutlich gemacht, dass die Angabe eine Variable betrifft, in HTML-ELementen haben sie nix zu suchen.

    Probiers so:
    <input type="text" name="vorname" size="50">
    <input type="text" name="name" size="50">

    Wäre übrigens interessant zu wissen wo ein input namens $name später in PHP endet, $$name ist ja auch nochmal was anderes... Weiss jemand bescheid?

    Kommentar


    • #3
      geht immer noch nicht , son mist

      Danke für deinen Tip,
      aber die Sache funzt immer noch nicht.
      Wieder leere Datensätze in der DB.
      Hast Du evt. noch ne Idee ?

      Kommentar


      • #4
        mach mal hinter die kommas in der Queryzeile immer ein leerzeichen, hoert sich zwar bescheuert an aber ab und zu braucht er das leerzeichen um es zu raffen, so meine Erfahrung, denn der Code ansich scheint korrekt zu sein.

        Kommentar


        • #5
          Hallo,

          der Fehler liegt im HTML. Du mußt method="post" statt method="get" benutzen.

          Gruß
          Kaffi
          Errare humanum est

          W32.Schmalle.H@mm

          Kommentar


          • #6
            ich glaub ich spring ausm Fenster

            Danke für Eure Tips , aber es funzt immer noch nich !!!
            was mach ich nur falsch... kann es sein , das das mysql nicht richtig konfiguriert / installiert ist ?
            Oder evt. hab ich die DB falsch angelegt, möglicherweise
            muss ich Zugriffsrechte verteilen.. kann das sein ??

            Kommentar


            • #7
              Hallo,

              was kommen den für Fehlermeldungen?
              Poste mal deinen Code wie er jetzt ist.

              Gruß
              Kaffi
              Errare humanum est

              W32.Schmalle.H@mm

              Kommentar


              • #8
                es kommt ja keine Meldung , das is ja das Mysterium..
                es wird auch eine Reihe in die DB eingetragen, nur steht kein zeichen drin ....

                <body>
                <form method="post" action="sonar.php">
                <table border="0" align="center">
                <tr>
                <td>Vorname</td>
                <td><input type="text" name="vorname" size="50"></td>
                </tr><tr>
                <td>Name</td>
                <td><input type="text" name="name" size="50"></td>
                </tr>
                <tr>
                <td>&nbsp;</td>
                <td><input type="submit" name="submit" value="Abschicken"></td>
                </tr>

                </table>
                </form>


                </body>

                </html>


                <html>
                <body>
                <?php

                $db = mysql_connect("127.0.0.1");
                mysql_select_db("kundendb",$db);
                $sql = "INSERT INTO kunden (vorname,name) VALUES ('$vorname','$name')";
                $result = mysql_query($sql, $db);

                if( ! $result) {

                die(mysql_error());

                }


                ?>



                </body>
                </html>


                danke , cu

                Kommentar


                • #9
                  Ich habe es bei mir mal ausprobiert und es funktionierte mit diesen Codes:

                  form.html
                  Code:
                  <html> 
                  <head><title>formular</title></head> 
                  <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF"> 
                  <form method="post" action="sonar.php"> 
                  <table border="0" align="center"> 
                  <tr> 
                  <td>Vorname</td> 
                  <td><input type="text" name="vorname" size="50"></td> 
                  </tr><tr> 
                  <td>Name</td> 
                  <td><input type="text" name="name" size="50"></td> 
                  </tr> 
                  <tr> 
                  <td> </td> 
                  <td><input type="submit" name="submit" value="Abschicken"></td> 
                  </tr> 
                  
                  </table> 
                  </form> 
                  
                  
                  </body> 
                  
                  </html>
                  sonar.php
                  Code:
                  <html> 
                  <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF"> 
                  <?php 
                  
                  $db = mysql_connect("127.0.0.1", "root"); 
                  mysql_select_db("kundendb",$db); 
                  $sql = "INSERT INTO kunden (vorname,name) VALUES ('$vorname','$name')"; 
                  $result = mysql_query($sql,$db); 
                  echo "Ihr Daten wurden abgeschickt! Vielen Dank!<br><br>"; 
                  
                  ?> 
                  
                  </body> 
                  </html>
                  Kaffi
                  Errare humanum est

                  W32.Schmalle.H@mm

                  Kommentar


                  • #10
                    So , na das ist ja schonmal gut, danke für deine Bemühungen.
                    aber das Problem besteht nach wie vor. Aber gut ist , das wir jetzt wissen , daß es nicht am code liegt. Da muss irgendwas mit meinem WAMP nicht stimmen oder ? Wenn ichs allerdings "von hand " , also direkt im MySQL Befehlsinterpreter eingebe , klappts tadellos.. nur nicht mit php , kanns evt. am php liegen ..

                    Kommentar


                    • #11
                      Code:
                      <html><head><title>formular</title></head>
                      <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
                      <form method="post" action="sonar.php">
                      <table border="0" align="center">
                      <tr>
                      <td>Vorname</td>
                      <td><input type="text" name="vorname" size="50"></td>
                      </tr><tr>
                      <td>Name</td>
                      <td><input type="text" name="name"  size="50"></td>
                      </tr>
                      <tr>
                      <td> </td>
                      <td><input type="submit" name="submit" value="Abschicken"></td>
                      </tr>
                      </table>
                      </form>
                      </body>
                      </html>
                      sonar.php
                      Code:
                      <html>
                      <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
                      <?php
                      $db = mysql_connect("127.0.0.1");
                      mysql_select_db("test",$db);
                      $sql = "INSERT INTO kunden (vorname,name) VALUES ('$vorname','$name')";
                      $result = mysql_query($sql,$db);
                      echo "Ihr Daten wurden abgeschickt! Vielen Dank!<br><br>";
                      ?>
                      </body>
                      </html>
                      so, das geht mal.

                      der Dump

                      # phpMyAdmin MySQL-Dump
                      # version 2.2.0rc4
                      # http://phpwizard.net/phpMyAdmin/
                      # http://phpmyadmin.sourceforge.net/ (download page)
                      #
                      # Host: localhost
                      # Erstellungszeit: August 26, 2001, 8:56 pm
                      # Server Version: 3.23.25
                      # PHP Version: 4.0.2
                      # Datenbank : `test`
                      # -------------------------------------------------------- #
                      # Tabellenstruktur für Tabelle `kunden`
                      # CREATE TABLE kunden (
                      vorname text NOT NULL,
                      name text NOT NULL
                      ) TYPE=MyISAM; #
                      # Daten für Tabelle `kunden`
                      # INSERT INTO kunden VALUES ( 'test', 'test');


                      der einzige unterschied ist das NOT NULL, alles sehr seltsam.

                      [Editiert von JoelH am 26-08-2001 um 21:07]

                      Kommentar


                      • #12
                        INSERT funzt net über PHP

                        Danke für die Antwort.
                        ich hab jetz auch noch das NULL in NOT NULL verwandelt.
                        wie immer ohne Erfolg. Warum geht der Eintrag im MySQL Interpreter tadellos , aber über php nicht ? ist evt. php nicht korrekt installiert ?
                        Ich bin für jeden Tip mehr als nur dankbar ??

                        Kommentar


                        • #13
                          Lad dir doch phpmyadmin von http://phpmyadmin.sourceforge.net/ runter. das ist ein gutes tool und du merkst gleich ob php und mysql gut oder schlecht zusammen funktionieren.
                          Kaffi
                          Errare humanum est

                          W32.Schmalle.H@mm

                          Kommentar


                          • #14
                            Dummie frage

                            Woran seh ich denn das ?, ich hab phpAdmin installiert .

                            Kommentar


                            • #15
                              Kannst du damit Datenbanken oder Tabellen erstellen? Und kannst du Einträge einfügen oder anzeigenlassen?

                              Wenn ja funktioniert PHP und mySQL zusammen.
                              Kaffi
                              Errare humanum est

                              W32.Schmalle.H@mm

                              Kommentar

                              Lädt...
                              X