Ankündigung

Einklappen
Keine Ankündigung bisher.

Registrationsformular

Einklappen

Neue Werbung 2019

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

  • Registrationsformular

    Ich habe da mal ein Formular erstellt mit mysql!!! Da ist aber irgendein fehler drin. Er schreibt die daten irgend wie nicht in die mysql datenbank.
    könnt ihr mir bitte helfen!!!

    Hier die Quellecodes:


    register.php

    Code:
    <?
    include("config.php");
    
    if($a=="register")$ac = "reg";
    if(!$ac)$ac = "non";
    
    if($ac=="non"){
         ?>
    <form action="register.php?a=register" method="POST">
    <table>
    		<td width="200">Vorname</td>
    		<td><input class="textfield" type="text" name="vname"></td>
    		<tr><td width="200">Nachname:</td><td><input class="textfield" type="text" name="nname"></td></tr>
    		<re>
    		<td>Strasse /Nr.</td>
    		<td><input class="textfield" type="text" name="str"></td>
    		</tr>
    		<tr><td>Ort</td><td><input class="textfield" type="text" name="ort"></td></tr>
    <tr><td>Telefon</td><td><input class="textfield" type="text" name="tel"></td></tr>
    <tr><td>E-Mail: </td><td><input class="textfield" type="text" name="post"></td></tr>
    		<tr>
    			<td>Alter</td>
    			<td><input class="textfield" type="text" name="alter"></td>
    		</tr>
    		<tr>
    			<td>Klasse</td>
    			<td><input class="textfield" type="text" name="klasse"></td>
    		</tr>
    	</table>
    <input class="submitbutton" type="submit" value="Anmelden">
    </form>
    <?
    }else if($ac=="reg"){
         if(!$errs){ //Keine Fehler
              if(!$vname)err("Kein Vorname angegeben");     //Richtiger Input?
              if(!$nname)err("Kein Nachname angegeben");
              if(!$str)err("Keine Strasse angegeben");
              if(!$ort)err("Keine Ort angegeben");
              if(!$tel)err("Keine Telefonnummer angegeben");
              if(!$post)err("Keine E-Mailadresse angegeben");
              if(!$alter)err("Keine Alter angegeben");
              if(!$klasse)err("Keine Klasse angegeben");
    
         }
         if(!$errs){ //Keine Fehler, Username frei
              $activator = randstr($activatorlength);
              $time = time();
              $suc = sql("INSERT INTO $tbl_user (vname,nname,str,ort,tel,post,alter,klasse,activator) VALUES ('$vname','$nname','$str','$ort','$tel','$post','$alter','$klasse','$activator')");
              if(!suc)err("SQL-Fehler");
         }
         if(!$errs){
              $mailtext = "
    
    
    text
    
    
    
    Um deinen anmeldung zu aktivieren folge diesem Link:
    
    $url/activate.php?user=$user&activator=$activator
    
    text
    
    
    
    ";
              $suc = sendmail($email,"Deine Anmeldung im IYF 2004 Forum","IYF 2004 Forum <$webmasteremail>",$mailtext,"");
              if(!$suc){
                   err("E-Mail nicht gesendet");
                   $suc = sql("DELETE FROM $tbl_user WHERE user='$user'");
                   if(!$suc)err("Fehlerhafter Eintrag konnte nicht gel&ouml;scht werden");
              }
         }
         if(!$errs){
         ?>
    <h1>Registrierung</h1>
    
    <h2>Registriert:</h2>
    
    text
    <?
         }
    }
    
    if($errs>0){
    ?>
    <h1>Registrierung</h1>
    <?
         listerrs();
    }
    ?>

    activate.php

    Code:
    <?
    include("config.php");
    
    
    if(!$errs){
         if(!$activator)err("Kein Aktivierungs-Code");
         if($activator && strlen($activator)!=$activatorlength)err("Aktivierungs-Code ung&uuml;ltig");
    }
    if(!$errs){
         $c = mysql_fetch_array(sql("SELECT COUNT(*) AS c FROM $tbl_user WHERE user='$user'"));
         $c = $c['c'];
         if($c<1)err("Username nicht vorhanden");
    }
    if(!$errs){
         $realactivator = mysql_fetch_array(sql("SELECT activator FROM $tbl_user WHERE user='$user'"));
         $realactivator = $realactivator['activator'];
         if($realactivator=="ACTIVE")err("Account wurde bereits aktiviert");
    }
    if(!$errs){
         $realactivator = mysql_fetch_array(sql("SELECT activator FROM $tbl_user WHERE user='$user'"));
         $realactivator = $realactivator['activator'];
         if($activator==$realactivator){
              $suc = sql("UPDATE $tbl_user SET activator='ACTIVE' WHERE user='$user'");
              if(!$suc)err("SQL Fehler");
         }else err("Aktivierungs-Code falsch");
    }
    if(!$errs){
         ?>
    <h1>text<?
    }
    
    if($errs>0){
         listerrs();
    }
    ?>

    config.php

    Code:
    <?
    $mysql_db        = "xxxx"; //Name der Datenbank
    $mysql_host      = "62.75.192.145"; //MySQL Host
    $mysql_user      = "xxxx"; // MySQL User
    $mysql_pass      = "xxxx"; //MySQL Passwort
    
    $url             = "http://domain.de/test"; //Verzeichnis für HTTP-Requests (ohne / am ende )
    
    //Namen der Tabellen: 'setup_database.sql' bearbeiten um namen zu &auml;ndern!
    
    
    $tbl_user        = "asd";
    
    
    
    $webmasteremail  = "info@xxxx.de";
    
    $activatorlength = 20; //L&auml;nge des Aktivierungscodes
    
    $cfgincluded = true;
    ?>

    MSQL Input datei

    Code:
    CREATE TABLE `asd` (
      `vname` varchar(30) NOT NULL default '',
      `nname` varchar(30) NOT NULL default '',
      `str` varchar(30) NOT NULL default '',
      `ort` varchar(30) NOT NULL default '',
      `tel` varchar(30) NOT NULL default '',
      `post` varchar(30) NOT NULL default '',
      `alter` varchar(30) NOT NULL default '',
      `klasse` varchar(30) NOT NULL default '',
      PRIMARY KEY  (`vname`),
      FULLTEXT KEY `post` (`post`)
    )



    Danke schonmal im voraus!!!

  • #2
    Code:
    INSERT INTO $tbl_user (vname,nname,str,ort,tel,post,alter,klasse,activator) VALUES ('$vname','$nname','$str','$ort','$tel','$post','$alter','$klasse','$activator')
    naja .. 'alter' ist ein reserviertes wort. deine tabellenspalte darf so nicht heißen.

    edit:
    http://dev.mysql.com/doc/mysql/de/Reserved_words.html
    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

    Kommentar


    • #3
      habe vergessen den fehler darzustellen!!!

      Code:
      Fatal error: Call to undefined function: randstr() in /usr/local/pem/vhosts/12264/webspace/httpdocs/test/register.php on line 46

      Kommentar


      • #4
        Zitat von Ice-Cue
        randstr()
        was ist das für eine funktion?

        wo steht sie?
        anscheinend hast du sie entweder nicht implementiert oder nicht eingebunden.
        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

        Kommentar


        • #5
          mit was muss ich das ersetzen!!!

          Kommentar


          • #6
            Zitat von Ice-Cue
            mit was muss ich das ersetzen!!!
            falsche reaktion!

            das machst du schön selber.
            außerdem weiß ich immer noch nicht, was das für eine funktion ist ...
            [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

            Kommentar


            • #7
              habe diesen quellcode umgeschrieben:

              Code:
              <?
              //register.php
              include("inc/main.inc.php");
              $page_title = getoption("mainoptions","tregister");
              include("inc/head.inc.php");
              
              if($a=="register")$ac = "reg";
              if(!$ac)$ac = "non";
              
              if($ac=="non"){
                   ?>
              <h1>Registrierung</h1>
              
              <h2>Anmeldeformular</h2>
              Alle mit * gekennzeichneten Felder sind optional.
              
              Dein Username kann aus folgenden Zeichen bestehen: A-Z, a-z, 0-9, _
              
              
              
              <form action="register.php?a=register" method="POST">
              <table>
              <tr><td width="200">*Vorname/*Nachname: </td><td><input class="textfield" type="text" name="vname"> <input class="textfield" type="text" name="nname"></td></tr>
              <re><td>Username: </td><td><input class="textfield" type="text" name="user">
              </td></tr>
              <tr><td>Passwort: </td><td><input class="textfield" type="password" name="pass"></td></tr>
              <tr><td>Passwort (Wiederholung): </td><td><input class="textfield" type="password" name="pass2"></td></tr>
              <tr><td>E-Mail: </td><td><input class="textfield" type="text" name="email"></td></tr>
              
              </table>
              <input class="submitbutton" type="submit" value="Anmelden">
              </form>
              <?
              }else if($ac=="reg"){
                   if(!$errs){ //Keine Fehler
                        if(!$user)err("Kein Username");     //Richtiger Input?
                        if($user && !isname($user))err("Username ung&uuml;ltig");
                        if(!$pass)err("Kein Passwort");
                        if(!$pass2)err("Keine Passwort-WH");
                        if($pass2 && $pass != $pass2)err("Passwort-WH falsch");
                        if(!$email)err("Keine E-Mail Adresse");
                        if($email && !isemail($email))err("E-Mail Adresse ung&uuml;ltig");
                   }
              
                   if(!$errs){ //Keine Fehler, Input OK!
                        $c = mysql_fetch_array(sql("SELECT COUNT(*) AS c FROM $tbl_user WHERE user='$user'"));
                        $c = $c['c'];
                        if($c>0){ //<
                             err("Username ist vergeben");
                        }
                   }
                   if(!$errs){ //Keine Fehler, Username frei
                        $activator = randstr($activatorlength);
                        $time = time();
                        $suc = sql("INSERT INTO $tbl_user (user,pass,email,activator,time,vname,nname,homepage,uin) VALUES ('$user','$pass','$email','$activator','$time','$vname','$nname','','')");
                        if(!suc)err("SQL-Fehler");
                   }
                   if(!$errs){
                        $time = time();
                        $suc = sql("INSERT INTO $tbl_newsletter (email,letters,user,time)VALUES('$email','0','$user','$time')");
                        if(!suc)err("SQL-Fehler");
              
                   }
                   if(!$errs){
                        $mailtext = "
              
              
              
              Dein Username ist: $user
              Dein Passwort ist: $pass
              
              
              $url/activate.php?user=$user&activator=$activator
              
              
              
              
              
              ";
                        $suc = sendmail($email,"Deine Anmeldung im IYF 2004 Forum","IYF 2004 Forum <$webmasteremail>",$mailtext,"");
                        if(!$suc){
                             err("E-Mail nicht gesendet");
                             $suc = sql("DELETE FROM $tbl_user WHERE user='$user'");
                             if(!$suc)err("Fehlerhafter Eintrag konnte nicht gel&ouml;scht werden");
                        }
                   }
                   if(!$errs){
                   ?>
              <h1>Registrierung</h1>
              
              <h2>Registriert:</h2>
              
              Herzlichen Glückwunsch!
              
              
              
              Du wurdest soeben angemeldet! Es wurde eine E-Mail an <? echo html($email)?> gesendet,
              in der du weitere Anweisungen findest, wie du deinen Account aktivieren kannst.
              
              Dieses Fenster kannst du jetzt schliessen.
              <?
                   }
              }
              
              if($errs>0){
              ?>
              <h1>Registrierung</h1>
              <?
                   listerrs();
              }
              ?>
              <?
              include("inc/headend.inc.php");
              include("inc/mainend.inc.php");
              ?>

              Kommentar


              • #8
                ja und?
                was soll mir das jetzt zeigen?
                [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                Kommentar


                • #9
                  weis ich nicht!!!

                  ich selber habe nicht so viel ahnung wie viele andere leute!!! wie zumbeispiel du!!! wo finde ich die funktion!!!

                  Kommentar


                  • #10
                    Re: Registrationsformular

                    Zitat von Ice-Cue
                    Ich habe da mal ein Formular erstellt mit mysql!!!
                    du hast es erstellt denk ich ... also weiß du auch, wo die funktion zu finden ist!!
                    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                    Kommentar


                    • #11
                      Ice-Cue:

                      Code:
                           } 
                           if(!$errs){ //Keine Fehler, Username frei 
                                $activator = randstr($activatorlength); 
                                $time = time(); 
                                $suc = sql("INSERT INTO $tbl_user (user,pass,email,activator,time,vname,nname,homepage,uin) VALUES ('$user','$pass','$email','$activator','$time','$vname','$nname','','')"); 
                                if(!suc)err("SQL-Fehler"); 
                           }
                      Da ist die Funktion drin zu finden

                      http://de.php.net/rand
                      www.webdeveloperfactory.de - Der Blog und Ratgeber für Webentwickler mit zahlreichen Informationen

                      Kommentar


                      • #12
                        @mano:
                        was willst du sagen?

                        das die PHP-funktion rand() gleich der benutzerdefinierten funktion strrand() ist?

                        manche leute, die sich zu weit aus dem fenster gelehnt haben, sind auch schon mit schmerzen auf der straße wieder aufgewacht ...
                        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                        Kommentar


                        • #13
                          Du solltest mal überlegen was du sagst. DANKE.
                          www.webdeveloperfactory.de - Der Blog und Ratgeber für Webentwickler mit zahlreichen Informationen

                          Kommentar


                          • #14
                            Zitat von Mano
                            Da ist die Funktion drin zu finden
                            ja du Spaßvogel! Der hat die Funktion auch selber geschrieben...
                            Ich kann die aber in dem Script hier nirgends finden...


                            Kommentar

                            Lädt...
                            X