MySQL - kein Eintrag in die DB

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
nils754
Mitglied
Beiträge: 283
Registriert: 25.02.2005 22:46

MySQL - kein Eintrag in die DB

Beitrag 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(); 
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag 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
Neulich im Zoo: Papa, guck mal, da sind Linuxe...
KB-Suche :: db_update_generator :: phpMyAdmin
Winmerge :: Zend Studio
Benutzeravatar
nils754
Mitglied
Beiträge: 283
Registriert: 25.02.2005 22:46

Beitrag 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.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

schon mal mysql_error() versucht?
Benutzeravatar
nils754
Mitglied
Beiträge: 283
Registriert: 25.02.2005 22:46

Beitrag 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!
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Das kann nicht funktionieren, guck dir mal deinen blödsinn mit mysql_connect an ...
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag 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>';
      } 
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Antworten

Zurück zu „Coding & Technik“