Ankündigung

Einklappen
Keine Ankündigung bisher.

Registrierung funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • Registrierung funktioniert nicht

    Hallo,
    ich habe mir ein Registrierungsscript gebastelt, was soweit auch funktioniert hat. Allerdings habe ich das ganze jetzt um ein paar Felder erweitert und plötzlich funktioniert es nicht mehr.
    Hier der Teil, in dem der Fehler ist:

    PHP-Code:
    <?php 
    if (!empty($_POST['user'])) {

      
    $user trim($_POST['user']);
      
      
    $vorname trim($_POST['vorname']);
      
      
    $nachname trim($_POST['nachname']);

      
    $pw1 trim($_POST['pw1']);

      
    $pw2 trim($_POST['pw2']);

      
    $email trim($_POST['email']);
      
      
    $alter trim($_POST['alter']);
      
      
    $ort trim($_POST['ort']);

      
    $msn trim($_POST['msn']);
      
      
    $icq trim($_POST['icq']);
      
      
    $skype trim($_POST['skype']);
      
      
    $homepage trim($_POST['homepage']);
      
      
    $hobbys trim($_POST['hobbys']);
      
      
      
    $verein trim($_POST['verein']);
      
      
      
    $musik trim($_POST['musik']);
      

       
    // $geburt = trim($_POST['jahr']) . "-" . $_POST['gebmon'] . "-" . $_POST['gebtag']; 

      
    $muster1 "/^[a-zA-Z0-9-_.@]{4,15}$/";

      
    $muster2 "/^[a-z&auml;&ouml;&uuml;A-Z-_.]{2,17}$/";
      
      
    $muster3 "/^[a-zA-Z\-]{2,15}$/"

      if (
    preg_match($muster1$user) == 0) {

        
    $status .= "<span style='color:#FF0000'>Das ist kein g&uuml;ltiger Benutzername!</span><br>";

      }  

      if (
    preg_match($muster1$pw1) == 0) {

        
    $status .= "<span style='color:#FF0000'>Das ist kein g&uuml;ltiges Passwort.</span><br>";

      }
      
      if (
    preg_match($muster3$vorname) == ) {
       
    $status .="<span style='color:#FF0000'>Das ist kein g&uuml;ltiger Vorname.</span><br>";
      }
                    
      if (!empty(
    $nachname)) {
       if (
    preg_match($muster3$nachname) == 0) {
         
    $status .= "<span style='color:#FF0000'>Das ist kein g&uuml;ltiger Nachname.</span><br>";
       
       }
      
      }

       if (!empty(
    $alter)) {

         if (!
    is_numeric($alter)) {

          
    $status .="<span style='color:#FF0000'>Das ist kein g&uuml;ltiges Alter!</span>";

         }

       }

       if (!empty(
    $ort)) {

         if (
    preg_match($muster2$ort) == 0) {

          
    $status .="<span style='color:#FF0000'>Das ist kein g&uuml;ltiger Ort!</span>";

         }

       }

       if (!empty(
    $msn)) {

         if (
    preg_match($muster2$msn) == 0) {

          
    $status .="<span style='color:#FF0000'>Das ist keine g&uuml;ltige MSN-Adresse!</span>";

         }

       }
       
       if (!empty(
    $icq)) {

         if (!
    is_numeric($icq)) {

          
    $status .="<span style='color:#FF0000'>Das ist keine g&uuml;ltige ICQ-Nummer!</span>";

         }

       }
       
       if (!empty(
    $skype)) {

         if (
    preg_match("/^[a-zA-Z&auml;&ouml;&uuml;0-9]$/"$skype) == 0) {

          
    $status .="<span style='color:#FF0000'>Das ist keine g&uuml;ltiger Skype-Name!</span>";

         }

       }
       
      if (!empty(
    $homepage)) {

         if (
    preg_match("|^http://[a-zA-Z0-9-_.]+$|"$homepage) == 0) {

          
    $status .="<span style='color:#FF0000'>Deine Homepage ist nicht korrekt! Bitte vergiss " .
          
    "nicht das http:// am Anfang und vermeide Umlaute und Sonderzeichen!<br></span>";

         }

       }
       
       if (!empty(
    $hobbys)) {

         if (
    preg_match($muster2$hobbys) == 0) {

          
    $status .="<span style='color:#FF0000'>Bitte überprüfe deine Hobbys! Verwende bitte keine Sonderzeichen. </span>";

         }

       } 
       
      if (!empty(
    $verein)) {

         if (
    preg_match($muster2$verein) == 0) {

          
    $status .="<span style='color:#FF0000'>Bitte überprüfe deine Vereine! Verwende bitte keine Sonderzeichen. </span>";

         }

       }
       
       if (!empty(
    $musik)) {

         if (
    preg_match($muster2$musik) == 0) {

          
    $status .="<span style='color:#FF0000'>Bitte überprüfe deine Musik! Verwende bitte keine Sonderzeichen. </span>";

         }

       } 

      if (
    $pw1 != $pw2) {

        
    $status .= "<span style='color:#FF0000'>Die Passw&ouml;rter stimmen nicht &uuml;berein!</span><br>";

      } 

      
    $muster2 "/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";

      if (
    preg_match($muster2$email) == 0) {

        
    $status .= "<span style='color:#FF0000'>Die E-Mail-Adresse ist ung&uuml;ltig!</span><br>";

      } 
       
    //if (!empty($_POST['jahr'])) {
      //if (is_numeric($_POST['jahr'])) {

       // if ($_POST['jahr'] < 1905 or $_POST['jahr'] > 2005) {

      //   $status .= "<span style='color:#FF0000'>Dein Geburtsjahr ist falsch!</span><br>";

          

      //  }

    //  } else {

    //   $status .= "<span style='color:#FF0000'>Dein Geburtsjahr ist keine Zahl!</span>";

      //}
    //}
         

          
      
    if (empty($status)) {

        
    $sql_usercheck "SELECT * FROM users WHERE name='$user'";

        
    $result mysql_query($sql_usercheck);

        if (
    mysql_num_rows($result) == 1) {

          
    $status .= "<span style='color:#FF0000'>Nutzername schon vergeben!</span><br>";

        } 
        

        
    $sql_pw "SELECT * FROM users WHERE email='$email'";

        
    $result mysql_query($sql_pw);

        if (
    mysql_num_rows($result) != 0) {

          
    $status .= "<span style='color:#FF0000'>E-Mail-Adresse schon vergeben!</span><br>";

        }
       


      } 

       if (isset (
    $_POST['newsletter'])) {
      
    $sql_newsletter "INSERT INTO cl1_emails
      (email, name)
      VALUES ('"
    .$email."', '".$vorname."')";
      if (
    mysql_query($sql_newsletter)) {
       echo 
    "<span style='color:green'>Eintragung in den Newsletter erfolgreich</span><br>";
    }
    }                

      if (empty(
    $status)) {

        
    $sql_putin "INSERT INTO users

    (name, pw, email, member, timestamp, hobbys, vorname, nachname, ort, icq, website, musik, verein, jahre)

    VALUES ('
    $user', MD5('$pw1'), '$email', '0', NOW(), '$hobbys', '$vorname', '$nachname', '$ort' , '$icq', '$musik', '$verein', '$alter')";
         
        if (
    mysql_query($sql_putin) && mysql_affected_rows() > 0) {

          
    $status "<span style='color:green'>Registrierung erfolgreich!</span><br>";

          
    $status .= actimail($user$email);
           
        } else {

          
    $status "<span style='color:#FF0000'>Registrierung nicht erfolgreich!</span><br>";

        } 
        if (isset (
    $_POST['newsletter'])) {
      
    $sql_newsletter "INSERT INTO cl1_emails
      (email, name)
      VALUES ('"
    .$email."', '".$vorname."')";
      if (
    mysql_query($sql_newsletter)) {
       echo 
    "<span style='color:green'>Eintragung in den Newsletter erfolgreich</span><br>";
    }
    }                

      } 



    ?>
    Ich habe die Daten schon mit den Namen der Felder im Formular überprüft und das stimmt alles, und die Felder in der Datenbank stimmen auch.

    Greetz


  • #2
    1. Was kommen für Fehler? error_reporting?

    2. Schau dir die SQL Syntax an. Du gibst an das du 14 Werte eintragen willst, aber nur 13 Werte bereitstellst.

    Kommentar


    • #3
      Zitat von djlars Beitrag anzeigen
      was soweit auch funktioniert hat [...] plötzlich funktioniert es nicht mehr.
      Dann würde ich mal die Schritte analysieren, welche du zwischen "funktioniert" und "funktioniert nicht", vorgenommen hast. Außerdem ist "funktioniert nicht" keine sinnvolle Fehlerbeschreibung, damit kann keiner etwas anfangen.

      Kommentar


      • #4
        PHP-Code:
        $muster2 "/^[a-z&auml;&ouml;&uuml;A-Z-_.]{2,17}$/"
        Umlaute werden nicht als &auml; sondern als ä versandt.
        Signatur:
        PHP-Code:
        $s '0048656c6c6f20576f726c64';
        while(
        $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

        Kommentar


        • #5
          Zitat von ByStones Beitrag anzeigen
          Umlaute werden nicht als &auml; sondern als ä versandt.
          Also so:
          $muster2 = "/^[a-zäöüA-Z-_.]{2,17}$/";

          Beim error_reporting zeigt er keinen Fehler an.
          Die Schritte, die ich gemacht habe: Ich habe die SQL-Abfrage erweitert und die preg_match's für die neuen Felder hinzugefügt.

          Es kommt halt nach dem Absenden des Formulars nur "Registrierung nicht erfolgreich"

          Kommentar


          • #6
            2. Schau dir die SQL Syntax an. Du gibst an das du 14 Werte eintragen willst, aber nur 13 Werte bereitstellst.
            Debugging:SQL - PHP.de Wiki
            http://hallophp.de

            Kommentar


            • #7
              Notice: Use of undefined constant mysql_error - assumed 'mysql_error' in /var/www/web122784/html/regicheck1.inc.php on line 238
              mysql_error

              Das kommt dabei raus.
              Line 238:
              mysql_query($sql_putin) or die (mysql_error );

              Kommentar


              • #8
                mysql_query($sql_putin) or die (mysql_error() );
                Den Wert für "website" hast du vergessen.
                PHP-Code:
                echo "Hello World"

                Kommentar


                • #9
                  Den Wert für Webiste hat ich hinzugefügt.
                  Es kommt folgender Error:
                  Column count doesn't match value count at row 1

                  Kommentar


                  • #10
                    Dann solltest DU mal nachzählen.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Ich hab in der sql-abfrage den wert für website hinzugefügt, jetz sieht die so aus:
                      PHP-Code:
                      $sql_putin "INSERT INTO users

                      (name, pw, email, member, timestamp, hobbys, vorname, nachname, ort, icq, website, musik, verein, jahre)

                      VALUES ('
                      $user', MD5('$pw1'), '$email', '0', NOW(), '$hobbys', '$vorname', '$nachname', '$ort' , '$icq', '$homepage' '$musik', '$verein', '$alter')"
                      values sind 14 und das andre auch

                      Kommentar


                      • #12
                        Debugging:SQL - PHP.de Wiki

                        Code:
                        (name   , pw         , email   , member , timestamp , hobbys    , vorname   , nachname   , ort    , icq    , website    , musik   , verein    , jahre)
                        VALUES 
                        ('$user', MD5('$pw1'), '$email', '0'    , NOW()     , '$hobbys' , '$vorname', '$nachname', '$ort' , '$icq' , '$homepage' '$musik' , '$verein' , '$alter')";
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar


                        • #13
                          Ok, aber wo liegt nun der Fehler?

                          Kommentar


                          • #14
                            Debugging:SQL - PHP.de Wiki
                            Und herausfinden
                            --

                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                            --

                            Kommentar


                            • #15
                              Ich habe mir jetzt mal die Werte ausgeben lassen, die in die Datenbank eingetragen werden und die sind auch alle korrekt. Deshalb verstehe ich nicht ganz, was nun falsch ist..

                              Kommentar

                              Lädt...
                              X