Seite 1 von 1

MySQL - kein Eintrag in die DB

Verfasst: 02.01.2007 15:16
von nils754
Ich hab eben folgendes Script geschrieben. Nur leider wird nichts in die DB eingetragen. Kann mir da jemand weiterhelfen? Ich steh auf der Leitung... :-?

Code: Alles auswählen

//MySQL Verbindung herstellen
@mysql_connect($host, $dbuser, $dbpasswort) or die('<center><font color="#FF0000">Registrierung gescheitert! Keine Verbindung zur Datenbank m&ouml;glich</font>');
@mysql_select_db($datenbank) or die('<center><font color="#FF0000">Registrierung gescheitert! Keine Verbindung zur Datenbank m&ouml;glich</font>');
                
                $sql = "INSERT INTO vsb_users (id, username, pw, email, member, regdate, rights, signatur, notes) 
                VALUES ('', '$username', '$pw', '$email', '1', '$datum', '3', '$signatur', '')";
                $verbindung = @mysql_connect($host, $dbuser, $dbpasswort);
                    
                mysql_query($sql, $verbindung);
                    
                mysql_close(); 

Verfasst: 02.01.2007 15:23
von Olli Oberhausen
zum glück ist bei dir register_globals auf off.

Daher mußt du $username mit $HTTP_POST_VARS['username']; bestimmen.

Code: Alles auswählen

$username = $HTTP_POST_VARS['username'];
gleichzeitig solltest du dich jedoch mit der Gefahr von sql-injections beschäftigen.
usw...


Gruß, olli

Verfasst: 02.01.2007 18:01
von nils754
Hmm das funktioniert leider nicht. Es gibt weiterhin keinen Eintrag in die DB.
Ich poste mal das komplette php-Script

Code: Alles auswählen

$username = $HTTP_POST_VARS['username'];
      $email    = $HTTP_POST_VARS['email'];
      $pw       = $HTTP_POST_VARS['pw'];
      $pw_verif = $HTTP_POST_VARS['pw_verif'];
      $signatur = $HTTP_POST_VARS['signatur'];
      $datum    = date('j.n.Y');
      
      //////// Anfang der Uberprufungsschleife
      // Falls alle Felder leer sind nichts ausgeben
      if (isset($username) && isset($email) && isset($pw) && isset($pw_verif) && isset($signatur)) {
        // Falls alle felder gesetzt sind
        if (!empty($username) && !empty($email) && !empty($pw) && !empty($pw_verif) && !empty($signatur)) {
            // Falls die Pw's gleich sind
            if ($pw == $pw_verif) {
            
                //MySQL Verbindung herstellen
                @mysql_connect($host, $dbuser, $dbpasswort) or die('<center><font color="#FF0000">Registrierung gescheitert! Keine Verbindung zur Datenbank m&ouml;glich</font>');
                @mysql_select_db($datenbank) or die('<center><font color="#FF0000">Registrierung gescheitert! Keine Verbindung zur Datenbank m&ouml;glich</font>');
                
                $sql = "INSERT INTO vsb_users (id, username, pw, email, member, regdate, rights, signatur, notes) 
                VALUES ('', '$username', '$pw', '$email', '1', '$datum', '3', '$signatur', '')";
                $verbindung = @mysql_connect($host, $dbuser, $dbpasswort);
                    
                mysql_query($sql, $verbindung);
                    
                mysql_close();    
                                
            }
            else {
            echo '<center><font color="#FF0000">Die Passw&ouml;rter stimmen nicht &uuml;berein!</font></center><br>';
            }
        }
        else {
        echo '<center><font color="#FF0000">Bitte f&uuml;llen sie alle Felder aus!</font></center><br>';
        }
      }
      else {
      echo '<br>';
      }
Bitte nicht an der Umsetzung meckern. Das Script funktioniert (bis auf den Eintrag in die MySQL DB) und das ist mir im Moment das Wichtigste.

Verfasst: 02.01.2007 18:51
von fanrpg
schon mal mysql_error() versucht?

Verfasst: 03.01.2007 23:33
von nils754
fanrpg hat geschrieben:schon mal mysql_error() versucht?
Auch damit komm ich leider nicht weiter. Ich habe das Script nochmal ein wenig verändert. Wenn es auch so nicht funktioniert, werde ich mich hier morgen nochmal melden.
Aber schon mal danke für die Hilfe bis jetzt!

Verfasst: 04.01.2007 10:23
von Jensemann
Das kann nicht funktionieren, guck dir mal deinen blödsinn mit mysql_connect an ...

Verfasst: 04.01.2007 10:57
von StarWolf3000
so sollte es richtig lauten:

Code: Alles auswählen

$username = $HTTP_POST_VARS['username'];
      $email    = $HTTP_POST_VARS['email'];
      $pw       = $HTTP_POST_VARS['pw'];
      $pw_verif = $HTTP_POST_VARS['pw_verif'];
      $signatur = $HTTP_POST_VARS['signatur'];
      $datum    = date('j.n.Y');
     
      //////// Anfang der Uberprufungsschleife
      // Falls alle Felder leer sind nichts ausgeben
      if (isset($username) && isset($email) && isset($pw) && isset($pw_verif) && isset($signatur)) {
        // Falls alle felder gesetzt sind
        if (!empty($username) && !empty($email) && !empty($pw) && !empty($pw_verif) && !empty($signatur)) {
            // Falls die Pw's gleich sind
            if ($pw == $pw_verif) {
           
                //MySQL Verbindung herstellen
                $verbindung = @mysql_connect($host, $dbuser, $dbpasswort) or die('<center><font color="#FF0000">Registrierung gescheitert! Keine Verbindung zur Datenbank m&ouml;glich</font>');
                @mysql_select_db($datenbank) or die('<center><font color="#FF0000">Registrierung gescheitert! Keine Verbindung zur Datenbank m&ouml;glich</font>');
               
                $sql = "INSERT INTO vsb_users (id, username, pw, email, member, regdate, rights, signatur, notes)
                VALUES ('', '$username', '$pw', '$email', '1', '$datum', '3', '$signatur', '')";

                mysql_query($sql, $verbindung);
                   
                mysql_close();   
                               
            }
            else {
            echo '<center><font color="#FF0000">Die Passw&ouml;rter stimmen nicht &uuml;berein!</font></center><br>';
            }
        }
        else {
        echo '<center><font color="#FF0000">Bitte f&uuml;llen sie alle Felder aus!</font></center><br>';
        }
      }
      else {
      echo '<br>';
      }