Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Eintragung in die Datenbank

Einklappen

Neue Werbung 2019

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

  • Problem mit Eintragung in die Datenbank

    Hallo zusammen,

    ich hab mir ein anmelde script für Benutzer geschrieben die zuerst über ein Formular die Daten eingeben und dann zu einer 2. Seite geleitet werden wo nochmal alles aufgelistet wird und dann eine Email verschickt wird, dass die Anmeldung erfolgreich war, und die eingegebenen daten in eine Datenbank eingetragen werden!

    Mein Code sieht folgendermaßen aus!

    Code:
    <html>
    <head>
     	<title>ID-Love.de - Deine ID - Deine Date - Dein Erfolg</title>
     	<link rel="stylesheet" type="text/css" media="screen" href="inc/style.css" />
    	<!--[if IE]>
    	<link rel="stylesheet" type="text/css" title="IE Bugfixing Stylesheet" href="./inc/style_ie.css" media="screen" />
    	<![endif]-->
    	<link rel="shortcut icon" href="images/Logo.jpg">
    	
    </head>
    <body>
    	 <span id="content_top"></span>
    	 <div class="news">
     	  <ul>
          <?php
           require ("config.inc.php");
    
           $Daten_einfuegen="INSERT INTO user(
            nick,
            vorname,
            nachname,
            email,
            plz,
            bday,
            handy,
            sex,
            nb,
            register,
            accept)
           VALUES (
           ".$_POST['nick'].",
           ".$_POST['vorname'].",
           ".$_POST['nachname'].",
           ".$_POST['email'].",
           ".$_POST['plz'].",
           ".$_POST['bday'].",
           ".$_POST['handy'].",
           ".$_POST['sex'].",
           ".$_POST['nb'].",
           ".$_POST['register'].",
           ".$_POST['accept'].")TYPE=MyISAM;";
    
           $user1 = mysql_query($Daten_einfuegen);
           
           if (user1) {
           $nachricht = "Hallo ".$_POST['vorname']." ! Deine Anmeldung bei ID-Love.de war erfolgreich. Bitte klicke auf folgenden Link um die Anmeldung abzuschließen";
           $an = $_POST['email'];
           $betreff = "Erfolgreiche Anmeldung auf ID-Love.de";
           $xtra = "From: Anmeldung@ID-Love.de (ID-Love)\r\n";
           $xtra .= "Content-Type: text/html\r\nContent-Transfer-Encoding:8bit\r\n";
           $xtra .= "X-Mailer:PHP ";
           mail($an, $betreff, $nachricht, $xtra);
           echo "Perfekt ".($_POST['vorname']).", deine Anmeldung war erfolgreich! Check bitte dein Emailpostfach!";
           } else {
            echo "Fehler bei der Anmeldung! Bitte zum späteren Zeitpunktnochmal versuchen!";
            }
           ?>[*][*]Hier nochmal deine eingegebenen Daten:[*][*]Nick:
           <?php echo($_POST['nick']);?>[*]Vorname:
           <?php echo($_POST['vorname']);?>[*]Nachname:
           <?php echo($_POST['nachname']);?>[*]Emailadresse:
           <?php echo($_POST['email']);?>[*]Postleitzahl:
           <?php echo($_POST['plz']);?>[*]Geburtstag:
           <?php echo($_POST['bday']);?>[*]Handynummer:
           <?php echo($_POST['handynr']);?>[*]Geschlecht:
           <?php echo($_POST['sex']);?>[*]Nutzungsbedinungen:
           <?php echo($_POST['nb']);?>
     	[*]
           <input type="button" class="xbtn" value="zurück" onClick="history.go(-1)">
    	   <input type="button" class="xbtn" value="vorwärts" onClick="history.go(+1)">
    	   <input type="button" class="xbtn" value="aktualisieren" onClick="history.go(0)">
    	[/list]
    	  <br style="clear:both;" />
    	 </div>
    </body>
    </html>

    Die Config.inc.php so:
    Code:
    <?
    
    // DB-Konfiguration
    
    // Datenbank-Server (IP oder DNS)
    $dbserver = "localhost";
    
    // Datenbank-Nutzer
    $nutzer = "myrobindlux";
    
    // Datenbank-Passwort
    $passwort = "******";
    
    // Datenbank-Name
    $dbname = "myrobindlux";
    
    // Datenbanktabellen-Name
    $dbtabelle = "user";
    
    $db_fehler1 = "Die Datenbank sind z.Z. nicht abrufbar! Versuchen Sie es bitte später nochmal!";
    
    $db_fehler2 = "Die Daten sind z.Z. nicht abrufbar! Versuchen Sie es bitte später nochmal!";
    
    //Verbindung aufbauen
    @$db = mysql_connect($dbserver,$nutzer,$passwort) OR die($db_fehler1);
    
    //Datenbank als Standard definieren
    @mysql_select_db($dbname,$db) OR die($db_fehler2);
    
    ?>
    Nun wird zwar die Email abgeschickt und es kommt auch keine Fehlermeldung, aber es wird nichts in die Datenbank eingetragen :<
    Die Login Daten stimmen zu 100%


  • #2
    Du hast einen Fehler in deinem Skript, schaltest aber explizit mit @ Fehlermeldungen aus? Prima.

    Häng an jedes "mysql_query()" ein "or die(mysql_error())" dran und Google nach dem Fehler. Ein "is not a valid MySQL resource" ist der König der Anfänger-Fehler.

    Kommentar


    • #3
      Okay werd ich machen, Danke :wink:

      Kommentar


      • #4
        Sooo!
        Ich hab das or die(mysql_error())) an die Funktion dran gehangen und es kommt halt jetzt die Fehlermeldung in der Art wie sie bei phpmyadmin angezeigt würde.
        Hab zuerst mal versucht mit der Codezeile die ich hab, manuell über phpmyadmin einen Eintrag zutätigen und dort klappte es auch, aber nur halt dadurch dass ich die "$_POST.." Variablen, durch normale Zeichenkette/Zahlen ersetzt habe. Dort klappte es!
        Aber nun mit den Post Variablen und einbindung in die php Datei klappt wieder gar nüschts...

        Code:
        <?php
               require ("config.inc.php");
        
               $Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register,accept) VALUES (".$_POST['nick'].",".$_POST['vorname'].",".$_POST['nachname'].",".$_POST['email'].",".$_POST['plz'].",".$_POST['bday'].",".$_POST['handy'].",".$_POST['sex'].",".$_POST['nb'].",".$_POST['register'].",".$_POST['accept'].")";
               $user1 = mysql_query($Daten_einfuegen) or die(mysql_error());
               if (user1) {
               $nachricht = "Hallo ".$_POST['vorname']." ! Deine Anmeldung bei ID-Love.de war erfolgreich. Bitte klicke auf folgenden Link um die Anmeldung abzuschließen";
               $an = $_POST['email'];
               $betreff = "Erfolgreiche Anmeldung auf ID-Love.de";
               $xtra = "From: Anmeldung@ID-Love.de (ID-Love)\r\n";
               $xtra .= "Content-Type: text/html\r\nContent-Transfer-Encoding:8bit\r\n";
               $xtra .= "X-Mailer:PHP ";
               mail($an, $betreff, $nachricht, $xtra);
               echo "Perfekt ".($_POST['vorname']).", deine Anmeldung war erfolgreich! Check bitte dein Emailpostfach!";
               } else {
                echo "Fehler bei der Anmeldung! Bitte zum späteren Zeitpunktnochmal versuchen!";
                }
               ?>
        Die Fehlermeldung ist folgende:
        "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 'user(nick,vorname,nachname,email,plz,bday,handy,s ex,nb,register"

        Kommentar


        • #5
          Änder mal dein Insert so ab:

          PHP-Code:
          <?php
          ('$_POST[nick]','$_POST[vorname]', ....
          ?>
          Und geht auch alles in die Binsen, immer heftig weiter grinsen!

          Kommentar


          • #6
            Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ..... on line 18
            Das kommt dabei raus und in PHP Coder Pro! werden die Variablen jetzt als normale Zeichenkette erkannt ;:>

            Code:
            $Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register,accept) VALUES ('$_POST['nick']','$_POST['vorname']','$_POST['nachname']','$_POST['email']','$_POST['plz']','$_POST['bday']','$_POST['handy']','$_POST['sex']','$_POST['nb']','$_POST['register']','$_POST['accept']')";

            Kommentar


            • #7
              Lass die ' in den eckigen Klammern weg!
              Und geht auch alles in die Binsen, immer heftig weiter grinsen!

              Kommentar


              • #8
                Sorry nicht richtig die Änderung erkannt

                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 'user(nick,vorname,nachname,email,plz,bday,handy,s ex,nb,register
                bei der Zeile
                Code:
                $Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register,accept) VALUES ('$_POST[nick]','$_POST[vorname]','$_POST[nachname]','$_POST[email]','$_POST[plz]','$_POST[bday]','$_POST[handy]','$_POST[sex]','$_POST[nb]','$_POST[register]','$_POST[accept]')";

                Kommentar


                • #9
                  Was passiert denn, wenn du beim into das ,accept weglässt und bei den Values genauso (,'$_POST[accept]')
                  Und geht auch alles in die Binsen, immer heftig weiter grinsen!

                  Kommentar


                  • #10
                    Es passiert wieder

                    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 'user(nick,vorname,nachname,email,plz,bday,handy,s ex,nb,register
                    bei dem Code:

                    Code:
                           $Daten_einfuegen="INSERT INTO user(nick,vorname,nachname,email,plz,bday,handy,sex,nb,register) VALUES ('$_POST[nick]','$_POST[vorname]','$_POST[nachname]','$_POST[email]','$_POST[plz]','$_POST[bday]','$_POST[handy]','$_POST[sex]','$_POST[nb]','$_POST[register]')";

                    Kommentar


                    • #11
                      Mach mal ein Leerzeichen zwischen user und dem (

                      Wenns dann immer noch nicht geht, würde ich ersteinmal mit einem Wert anfangen, obs dann geht:

                      PHP-Code:
                      <?php
                      $Daten_einfuegen
                      ="INSERT INTO user (nick) VALUES ('$_POST[nick]')";
                      ?>
                      Wenn es dann so geht immer einen weiteren Wert hinzufügen, bis du zu der Stelle kommst ab da es nicht mehr geht.

                      So beim ansehen fällt mir jetzt echt kein Fehler auf!
                      Und geht auch alles in die Binsen, immer heftig weiter grinsen!

                      Kommentar


                      • #12
                        DSas gibt es nicht verdammt ^^

                        Es war das eine Leerzeichen was gefehlt hat :<

                        Danke dir!

                        Kommentar


                        • #13
                          Hab schon an mir gezweifelt!

                          Komisch: Ich hab den Code bei mir in den Editor (Dreamweaver) kopiert, da
                          war aber dann ein Leerzeichen da

                          Egal. Hauptsache es geht jetzt
                          Und geht auch alles in die Binsen, immer heftig weiter grinsen!

                          Kommentar

                          Lädt...
                          X