tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
28
ZUGRIFFE
924
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von SiMpLy
    SiMpLy SiMpLy ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Schweiz
    Beiträge
    30
    HiHo Code Profis.
    Ich möchte gerne auf meiner Seite ein login system einbauen. Natürlich können sich da auch leute anmelden, nur irgendwie geht das nicht so ganz.

    er schreibt zwar in die DB, aber nicht die Sachen, die ich eingegeben habe.

    ** Formular Site **
    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    
    <?PHP require '_meta/meta.html'; ?>
    <link href="_style/allgemein.css" rel="stylesheet" type="text/css">
    <link href="_style/divs.css" rel="stylesheet" type="text/css">
    <link href="_style/table.css" rel="stylesheet" type="text/css">
    
    </head>
    
    <body>
    <div id="container">
      <!-- Header beginn -->
      <table border="0" cellspacing="0" cellpadding="0" id="border_head">
        <tr>
          <td id="head_bild"><form action="enter.php" method="post" name="login"><input class="login" name="nickname" onBlur="if (value == '') {value = 'Nickname'}" onFocus="if (value == 'Nickname') {value = ''}" type="text" value="Nickname">&nbsp;&nbsp;<input class="login" name="pw" onBlur="if (value == '') {value = 'Passwort'}" onFocus="if (value == 'Passwort') {value = ''}" type="password" value="Passwort">&nbsp;&nbsp;<input class="login_buttom" name="login" src="_images/index/login.png" type="image"><br><label>&bull; <a href="regist1.php">Registrieren</a>&nbsp;&nbsp;&nbsp;&nbsp;&bull; <a href="remind.php">Passwort vergessen</a></label></form></td>
        </tr>
      </table>
      <!-- Header end -->
      <!-- Main beginn -->
      <table border="0" cellspacing="0" cellpadding="0" id="border_main">
        <tr>
          <!-- Content beginn -->
          <td id="content">
            <form action="regist3.php" method="post" name="regist">
            <table border="0" cellpadding="2" cellspacing="1" id="regist">
              <tr>
                <td id="stable">Nickname</td>
                <td><input class="regist" name="nickname" type="text"></td>
              </tr>
              <tr>
                <td id="stable">E-Mail</td>
                <td><input class="regist" name="email" type="text"></td>
              </tr>
              <tr>
                <td id="stable">Passwort</td>
                <td><input class="regist" name="pw" type="password"></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td colspan="2"><span style="color: #FF0000;">Diese Daten sieht nur der Admin!</span></td>
              </tr>
              <tr>
                <td id="stable">Vorname</td>
                <td><input class="regist" name="vorname" type="text"></td>
              </tr>
              <tr>
                <td id="stable">Nachname</td>
                <td><input class="regist" name="nachname" type="text"></td>
              </tr>
              <tr>
                <td id="stable">Strasse &amp; Hausnummer</td>
                <td><input class="regist" name="str_hau" type="text"></td>
              </tr>
              <tr>
                <td id="stable">Postleitzahl</td>
                <td><input class="regist" name="postleitzahl" type="text"></td>
              </tr>
              <tr>
                <td id="stable">Wohnort</td>
                <td><input class="regist" name="wohnort" type="text"></td>
              </tr>
              <tr>
                <td id="stable">Land</td>
                <td>
                  <select class="regist_select" name="land">
                    <option" value="Albania.gif">Albania</option>
                    <option" value="Armenia.gif">Armenia</option>
                    <option" value="Austria.gif">Austria</option>
                    <option" value="Belgium.gif">Belgium</option>
                    <option" value="Bulgaria.gif">Bulgaria</option>
                    <option" value="Canada.gif">Canada</option>
                    <option" value="Croatia.gif">Croatia</option>
                    <option" value="Czech_Republic.gif">Czech Republic</option>
                    <option" value="Denmark.gif">Denmark</option>
                    <option" value="Estonia.gif">Estonia</option>
                    <option" value="Finland.gif">Finland</option>
                    <option" value="France.gif">France</option>
                    <option" value="Germany.gif">Germany</option>
                    <option" value="Great_Britain.gif">Great Britain</option>
                    <option" value="Greece.gif">Greece</option>
                    <option" value="Greenland.gif">Greenland</option>
                    <option" value="Hungary.gif">Hungary</option>
                    <option" value="Ireland.gif">Ireland</option>
                    <option" value="Island.gif">Island</option>
                    <option" value="Israel.gif">Israel</option>
                    <option" value="Italy.gif">Italy</option>
                    <option" value="Latvia.gif">Latvia</option>
                    <option" value="Liechtenstein.gif">Liechtenstein</option>
                    <option" value="Luxembourg.gif">Luxembourg</option>
                    <option" value="Monaco.gif">Monaco</option>
                    <option" value="Netherlands.gif">Netherlands</option>
                    <option" value="Norway.gif">Norway</option>
                    <option" value="Poland.gif">Poland</option>
                    <option" value="Portugal.gif">Portugal</option>
                    <option" value="Romania.gif">Romania</option>
                    <option" value="Russia.gif">Russia</option>
                    <option" value="Slovak_Republic.gif">Slovak-Republic</option>
                    <option" value="Slovenia.gif">Slovenia</option>
                    <option" value="Spain.gif">Spain</option>
                    <option" value="Sweden.gif">Sweden</option>
                    <option" selected="selected" value="Switzerland.gif">Switzerland</option>
                    <option" value="Turkey.gif">Turkey</option>
                    <option" value="Ukraina.gif">Ukraina</option>
                    <option" value="USA.gif">USA</option>
                    <option" value="Vatican.gif">Vatican</option>
                    <option" value="Yemen.gif">Yemen</option>
                    <option" value="Yugoslavia.gif">Yugoslavia</option>
                  </select>
                </td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td colspan="2"><span style="color: #FF0000;">Zusätzliche Daten, die nicht ausgefüllt werden müssen!</span></td>
              </tr>
              <tr>
                <td id="stable">Geschlecht</td>
                <td>
                  <label><input" name="geschlecht" value="0" type="radio">K/A</label>
                  <label><input" name="geschlecht" value="1" type="radio">m&auml;nnlich</label>
                  <label><input" name="geschlecht" value="2" type="radio">weiblich</label>
                </td>
              </tr>
              <tr>
                <td id="stable">Geburtsdatum</td>
                <td><input class="regist" name="geburtstag" type="text"><br><span style="color: #FF0000;">Format: JJJJ-MM-TT (Jahr-Monat-Tag)</span></td>
              </tr>
              <tr>
                <td id="stable">ICQ</td>
                <td><input class="regist" name="icq" type="text"></td>
              </tr>
              <tr>
                <td id="stable">MSN</td>
                <td><input class="regist" name="msn" type="text"></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><input class="regist_buttom2" name="registrieren" type="submit" value="Registrieren"></td>
              </tr>
            </table>
            </form>
          </td>
          <!-- Content end -->
          <!-- Navigation beginn -->
          <td id="nav">
    <?PHP require '_include/nav.php'; ?>
          </td>
          <!-- Navigation end -->
        </tr>
      </table>
      <!-- Main end -->
      <!-- Footer beginn -->
      <table border="0" cellspacing="0" cellpadding="0" id="border_footer">
        <tr>
          <td>&nbsp;</td>
        </tr>
      </table>
      <!-- Footer end -->
    </div>
    <div id="container_werbung">werbung</div>
    </body>
    </html>

    ** Ausführende Datei **
    PHP-Code:
    <?PHP
    session_start
    ();

    include 
    '_conf/config.php';

    extract($_POST);
    extract($HTTP_SERVER_VARS);
    $nickname $_POST['nickname'];
    $email $_POST['email'];
    $pw $_POST['pw'];
    $vorname $_POST['vorname'];
    $nachname $_POST['nachname'];
    $str_hau $_POST['str_hau'];
    $postleitzahl $_POST['postleitzahl'];
    $wohnort $_POST['wohnort'];
    $land $_POST['land'];
    $geburtstag $_POST['geburtstag'];
    $geschlecht $_POST['geschlecht'];
    $icq $_POST['icq'];
    $msn $_POST['msn'];

    $link mysql_connect($dbhost,$dbuser,$dbpasswd) or die ("Keine Verbindung <br>Bitte Kontrolliere denn Hostname, Benutzername und Passwort.");
    mysql_select_db($dbname,$link);
    $query "INSERT INTO member (id,nickname,email,pw,vorname,nachname,str_hau,postleitzahl,wohnort,land,geburtstag,geschlecht,icq,msn) values('id','nickname','email','pw','vorname','nachname','str_hau','postleitzahl','wohnort','land','geburtstag','geschlecht','icq','msn')";
    $result mysql_query($query);

    echo 
    "
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
    <html>
    <head>

    "
    ?><?PHP require '_meta/meta.html'?><?PHP echo "
    <link href='_style/allgemein.css' rel='stylesheet' type='text/css'>
    <link href='_style/divs.css' rel='stylesheet' type='text/css'>
    <link href='_style/table.css' rel='stylesheet' type='text/css'>

    </head>

    <body>
    <div id='container'>
      <!-- Header beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_head'>
        <tr>
          <td id='head_bild'><form action='enter.php' method='post' name='login'><input class='login' name='nickname' onBlur='if (value == '') {value = 'Nickname'}' onFocus='if (value == 'Nickname') {value = ''}' type='text' value='Nickname'>&nbsp;&nbsp;<input class='login' name='pw' onBlur='if (value == '') {value = 'Passwort'}' onFocus='if (value == 'Passwort') {value = ''}' type='password' value='Passwort'>&nbsp;&nbsp;<input class='login_buttom' name='login' src='_images/index/login.png' type='image'><br><label>&bull; <a href='regist1.php'>Registrieren</a>&nbsp;&nbsp;&nbsp;&nbsp;&bull; <a href='remind.php'>Passwort vergessen</a></label></form></td>
        </tr>
      </table>
      <!-- Header end -->
      <!-- Main beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_main'>
        <tr>
          <!-- Content beginn -->
          <td id='content'>
            Deine Anmeldung war erfolgreich!<br><br>
          </td>
          <!-- Content end -->
          <!-- Navigation beginn -->
          <td id='nav'>
    "
    ?><?PHP require '_include/nav.php'?><?PHP echo "
          </td>
          <!-- Navigation end -->
        </tr>
      </table>
      <!-- Main end -->
      <!-- Footer beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_footer'>
        <tr>
          <td>&nbsp;</td>
        </tr>
      </table>
      <!-- Footer end -->
    </div>
    <div id='container_werbung'>werbung</div>
    </body>
    </html>
    "
    ;
    ?>
    Und am irgendwie bringe ich das auch nicht hin, mit der Fehler anzeige. Habe keine Ahnung, wie man das macht.
    Denn wenn einer was falsches eingetragen hat, oder gar nicht. dann soll er die fehler seite anzeigen und wenn alles korrekt ist, die OK seite. und falls wer das PW nicht ausfüllt. soll es ein eigenes generieren. und wenn alles OK ist, dann sollte das ganze noch an den jeweiligen benutzer per MAIL verschickt werden, damit er alle angaben etc. hat.
    ich habe es auch nicht geschaft, dass das PW per MD5 geschrieben wird, das wäre auch noch wichtig. es soll ja nicht lesbar sein in der DB.
    Geändert von SiMpLy (15.06.08 um 01:36 Uhr)
     
    Wer fehler findet, kann sie behalten

  2. #2
    SGSSGene SGSSGene ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    124
    Du hast die $ zeichen in deinem query vergessen:
    Code :
    1
    
    $query = "INSERT INTO member (id,nickname,email,pw,vorname,nachname,str_hau,postleitzahl,wohnort,land,geburtstag,geschlecht,icq,msn) values('$id','$nickname','$email','$pw','$vorname','$nachname','$str_hau','$postleitzahl','$wohnort','land','geburtstag','geschlecht','$icq','$msn')";
    sonst wird der wert "id" in die Datenbank geschireben und nicht, wie du es willst, der wert der sich in der Variablen $id verbirgt.
     

  3. #3
    Avatar von SiMpLy
    SiMpLy SiMpLy ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Schweiz
    Beiträge
    30
    ah lol, ich idiot. auf das hätte ich selbst kommen müssen.. naja, habs in diesem fall nimmer gesehen. danke SGSSGene

    ***

    Na ja, dann wären noch meine anderen Probs.
    wie bringt man den PHP dazu, das er das Passwort verschlüsselt in die DB schreibt?

    Habe keine Ahnung, wie man das macht.
    Denn wenn einer was falsches eingetragen hat, oder gar nicht. dann soll er die fehler seite anzeigen und wenn alles korrekt ist, die OK seite. und falls wer das PW nicht ausfüllt. soll es ein eigenes generieren. und wenn alles OK ist, dann sollte das ganze noch an den jeweiligen benutzer per MAIL verschickt werden, damit er alle angaben etc. hat

    und irgendwie wäre es noch geil, wenn es bei der MAIL die verschickt wird, nen aktivierungscode enthält.
    aber das müsste nicht zwingend drin sein, aber wäre sicherlich noch gut.
    Geändert von SiMpLy (15.06.08 um 09:45 Uhr)
     
    Wer fehler findet, kann sie behalten

  4. #4
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Ein hash wird mit den befehl md5() erstellt.

    PHP-Code:
    $pw=md5($_POST['pw']); 
    Mfg Splasch
     

  5. #5
    Avatar von SiMpLy
    SiMpLy SiMpLy ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Schweiz
    Beiträge
    30
    ah, okey, das wäre einfach gewesen. *lol*
    aber das restliche ist glaub ich schon einwenig schwerer oder nicht?
     
    Wer fehler findet, kann sie behalten

  6. #6
    SGSSGene SGSSGene ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    124
    Ich würde ganz oben noch eine Variable benutzen und sie auf True setzten: "$success = true;"
    und nun kannst du ne einfache If Abfrage weiter unten machen z.B.:
    if($nickname == "") $success = false;
    Das müsstest du natürlich auch gegen die Einträge in Datenbank prüfen, damit keine doppelten Nicknamen auftauchen.

    un weiter unten machst du dann eine weiter Überprüfung:
    Code :
    1
    2
    3
    4
    
    if($success)
     echo "(Erfolgreiche Anmeldung)";
    else
     echo "(Keine Erfolgreiche Anmeldung)";
    Anstatt den Nachrichten kommt dann dort eine Entsprechende HTML Seite hin.
    außerdem darfst du bei einem nicht erfolgreichen Anmeldung, auch keine Daten in der Datenbank speichern.

    Beim Passwort überprüfst du einfach ob es ein Leerstring ist mit: if($pw == "")
    und wenn nicht musst du dort Zufallswerte erstellen:
    http://de.php.net/manual/de/function.rand.php
    Für Email Funktion solltest du mal hier schauen:
    http://de.php.net/manual/de/function.mail.php

    mfg
    Gene

    PS: schwerer ist es nicht unbedingt, aber du musst deutlich mehr Code schreiben.
     

  7. #7
    Avatar von SiMpLy
    SiMpLy SiMpLy ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Schweiz
    Beiträge
    30
    *bahnhof* :S
    könntest mir ev. ein ganzes bsp. machen? *hab irgend einen knopf in der leitung oder so* verstehe nix. *lol*
     
    Wer fehler findet, kann sie behalten

  8. #8
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    aber das restliche ist glaub ich schon einwenig schwerer oder nicht?
    Der rest ist genau so einfach.Du fügst einfach oberhalb(Wichtig). Eine Prüfung ein die prüft ob das Formular abgesendet worden ist wenn ja weiter Prüfungen anderen Fals gibst du das Formular wieder. Bei den weiteren Prüfungen prüfst du ob die Post werte leer sind wenn ja schreibst du einen entsprechende Fehlermeldung in ein Variable.

    Danach brauchst nur noch zu Prüfen ob in der Variable wo du deine Fehlermeldungen reinschreibst was drin steht. Wenn ja dann ist was nicht ausgefüllt worden und du gibst diese Meldung aus zusammen mit dem Formular.

    Erst wenn dann nix mehr in der Fehler Variable steht beginst du die Daten zu verarbeiten und zeigst anschließen die Erfolgreich Anmeldung an.

    Ein Beispiel dafür findest du unter:
    http://www.tutorials.de/forum/php-tu...erausgabe.html



    Mfg Splasch
     

  9. #9
    spikaner spikaner ist offline Quereinsteiger @ php
    Registriert seit
    Feb 2007
    Ort
    München
    Beiträge
    439
    Hier mal ein beispiel wie es aussehen könnte:

    PHP-Code:
    <?php
    if(isset($_POST["absenden"]))
    {
        
    // Post sachen auf schadcode überprüfen und neue variable zuweisen
        
    if(!eregi("^[a-zA-Z0-9_äöüÄÖÜ]+$",$_POST["name"]))
        {
            
    // Variable enthält Sonderzeichen
            
    $fehlertext "Sonderzeichen im Namen sind nicht erlaubt!";
            
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
            
    include("error.php");
            die;
        }
        else
        {
            
    $nameneu $_POST["name"];
            
    $laengename strlen($nameneu);
            If(
    $laengename 4)
            {
                
    $fehlertext "Name ist zu kurz!";
                
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
                
    include("error.php");
                die;
            }
        }
        if(!
    eregi("^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$",$_POST["email"]))
        {
            
    $fehlertext "Die Email-adresse ist ungültig!";
            
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
            
    include("error.php");
            die;
        }
        else
        {
            
    $emailneu $_POST["email"];
        }
        if(!
    eregi("^[a-zA-Z0-9_äöüÄÖÜ]+$",$_POST["passwort"]))
        {
            
    $fehlertext "Sonderzeichen im Passwort sind nicht erlaubt!";
            
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
            
    include("error.php");
            die;
        }
        else
        {
            
    $laengepasswort strlen($_POST["passwort"]);
            If(
    $laengepasswort 6)
            {
                
    $fehlertext "Passwort ist zu kurz!";
                
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
                
    include("error.php");
                die;
            }
            If(
    $_POST["passwort"] == $_POST["passwort1"])
            {
                
    $passwortneu $_POST["passwort"];
            }
            else
            {
                
    $fehlertext "Die Passwörter stimmen nicht überein.";
                
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
                
    include("error.php");
                die;
            }

        }

        
    // überprüfung ob Name oder email bereits vorhanden.

        
    $abfrage mysql_query("SELECT * from benutzerdaten where lower(Nickname) = ' . strtolower($nameneu) . '");
        
    $anzahl mysql_num_rows($abfrage);


        if(
    $anzahl 0)
        {
            
    $fehlertext "Username existiert bereits!";
            
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
            
    include("error.php");
            die;
        }
        
    $abfrage mysql_query("SELECT * from benutzerdaten where lower(email) = ' . strtolower($emailneu) . '");
        
    $anzahl mysql_num_rows($abfrage);

        if(
    $anzahl 0)
        {
            
    $fehlertext "Emailadresse existiert bereits!";
            
    $zurueckbutton "./index.php?ac=registrieren"// noch durch flexiblen link ersetzen
            
    include("error.php");
            die;
        }


        
    // link erstellung

        
    $i rand(100000,999999);
        
    $zufsallhash md5($i);

        
    $link "http://www.spikaner.de/game/register.php?register=".$zufsallhash."";

        
    $zufallsplanet rand(200,3900);
        
    $zeit time();
        
    // dbeintrag

    $sql_query_string "

    INSERT INTO benutzerdaten (
    Nickname,
    Kennwort,
    email,
    hash,
    freigeschaltet
    )
    VALUES (
    '"
    .$nameneu."',
    '"
    .$passwortneu."',
    '"
    .$emailneu."',
    '"
    .$zufsallhash."',
    '0'
    )"
    ;

    mysql_query($sql_query_string) or die('query fehlgeschlagen');

    // mail versand
        
    $registration_empfeanger $emailneu;             // Die Variable, die die Empfängeradresse beinhaltet.
        
    $registration_betreff "Anmeldung ";
        
    $registration_text 
    " Hallo,
    Du hast dich grade erfolgreich bei blabla angemeldet.
    Um die Registrierung abzuschleißen klicke bitte folgenden Link.
    "
    .$link."

    MfG
     - - - - - - -
    TheSystemBigMac
    "
    ;

        
    mail($registration_empfeanger$registration_betreff$registration_text"FROM: deine domain<noreply@deine email adresse>");

        
    // mail versand ende

        
    $fehlertext "Du erhältst eine email, klicke auf den darin enthaltenen Link um die Registrierung abzuschliesen.";
        
    $zurueckbutton "./index.php?ac=home";
        include(
    "error.php");
        die;

    }
    ?>
    die freischaltung schaut dann wie folgt aus

    PHP-Code:
    <?php
    if(isset($_GET["register"]))
    {
        if(!
    eregi("^[a-zA-Z0-9_äöüÄÖÜ]+$",$_GET["register"]))
        {
            
    // Variable enthält Sonderzeichen
            
    $fehlertext "Der Link scheint manipuliert zu sein!";
            
    $zurueckbutton "./index.php?ac=faq"// noch durch flexiblen link ersetzen
            
    include("error.php");
            die;
        }
        
    $sql_query_string "UPDATE benutzerdaten SET hash = '0', freigeschaltet = '1' WHERE hash = '".$_GET["register"]."'";
        
    mysql_query($sql_query_string) or die('query fehlgeschlagen');
        
    $fehlertext "Der Account wurde erfolgreich aktiviert.";
        
    $zurueckbutton "./index.php?ac=loigin"// noch durch flexiblen link ersetzen
        
    include("error.php");
        die;
    }
    ?>
    mfg Spikaner
     

  10. #10
    Avatar von SiMpLy
    SiMpLy SiMpLy ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Schweiz
    Beiträge
    30
    Okey, habe das mal eingefügt, aber komm ned so ganz klar. :/
    bin glaub ich wirklich zu doof dafür.

    PHP-Code:
    <?PHP
    session_start
    ();
    include 
    '_conf/config.php';

    if(isset(
    $_POST["absenden"]))
    {
        
    // Post sachen auf schadcode überprüfen und neue variable zuweisen
        
    if(!eregi("^[a-zA-Z0-9_äöüÄÖÜ]+$",$_POST["name"]))
        {
            
    // Variable enthält Sonderzeichen
            
    $fehlertext "Sonderzeichen im Namen sind nicht erlaubt!";
            
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
            
    die;
        }
        else
        {
            
    $nameneu $_POST["nickname"];
            
    $laengename strlen($nameneu);
            If(
    $laengename 4)
            {
                
    $fehlertext "Name ist zu kurz!";
                
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
                
    die;
            }
        }
        
        if(!
    eregi("^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$",$_POST["email"]))
        {
            
    $fehlertext "Die Email-adresse ist ungültig!";
            
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
            
    die;
        }
        else
        {
            
    $emailneu $_POST["email"];
        }
        
        if(!
    eregi("^[a-zA-Z0-9_äöüÄÖÜ]+$",$_POST["pw"]))
        {
            
    $fehlertext "Sonderzeichen im Passwort sind nicht erlaubt!";
            
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
            
    die;
        }
        else
        {
            
    $laengepasswort strlen($_POST["pw"]);
            if(
    $laengepasswort 6)
            {
                
    $fehlertext "Passwort ist zu kurz!";
                
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
                
    die;
            }

        }

    // überprüfung ob Name oder email bereits vorhanden.
    $abfrage mysql_query("SELECT * from member where lower(nickname) = ' . strtolower($nameneu) . '");
    $anzahl mysql_num_rows($abfrage);
    if(
    $anzahl 0)
    {
      
    $fehlertext "Username existiert bereits!";
      
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
      
    die;
    }

    $abfrage mysql_query("SELECT * from member where lower(email) = ' . strtolower($emailneu) . '");
    $anzahl mysql_num_rows($abfrage);
    if(
    $anzahl 0)
    {
      
    $fehlertext "Emailadresse existiert bereits!";
      
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
      
    die;
    }

    } else {

    extract($_POST);
    extract($HTTP_SERVER_VARS);
    $nickname $_POST['nickname'];
    $email $_POST['email'];
    $pw md5($_POST['pw']);
    $vorname $_POST['vorname'];
    $nachname $_POST['nachname'];
    $str_hau $_POST['str_hau'];
    $postleitzahl $_POST['postleitzahl'];
    $wohnort $_POST['wohnort'];
    $land $_POST['land'];
    $geburtstag $_POST['geburtstag'];
    $geschlecht $_POST['geschlecht'];
    $icq $_POST['icq'];
    $msn $_POST['msn'];
    $datum $_POST['datum'];
    $datum date('d.m Y');
    $clock date("H:i:s");
    $ip $_SERVER['REMOTE_ADDR']; 
    $UserAgent $_SERVER["HTTP_USER_AGENT"];

    $link mysql_connect($dbhost,$dbuser,$dbpasswd) or die ("Keine Verbindung <br>Bitte Kontrolliere denn Hostname, Benutzername und Passwort.");
    mysql_select_db($dbname,$link);
    $query "INSERT INTO member (id,nickname,email,pw,vorname,nachname,str_hau,postleitzahl,wohnort,land,geburtstag,geschlecht,icq,msn) values('$id','$nickname','$email','$pw','$vorname','$nachname','$str_hau','$postleitzahl','$wohnort','$land','$geburtstag','$geschlecht','$icq','$msn')";
    $result mysql_query($query);

    $empfaenger "$email";

    $betreff "Benutzerregistrierung auf www.markus-force.ch";
    $header "From: $email";

    $message="
    Empfangen am 
    $datum um $clock:
    ----------------------------------------------------------------------------\n
    Hallo 
    $nickname

    Du oder jemand hat dich mit deiner E-Mail (
    $email) Adresse auf meiner Seite www.markus-force.ch registriert.

    Weisst du nichts von dieser Registrierung, dann lösche doch bitte diese Mail und der Account,
    wird automatisch auf meiner Seite www.markus-force.ch gelöscht.


    Die angegebenen Sachen von dir:
    Nickame: 
    $nickname
    E-Mail: 
    $email
    Passwort: 
    $pw


    Mit freundlichen Grüssen

    Markus-Force.ch
    ----------------------------------------------------------------------------\n
    "
    ;

    mail($empfaenger$betreff$message$header);

    echo 
    "
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
    <html>
    <head>

    "
    ?><?PHP require '_meta/meta.html'?><?PHP echo "
    <link href='_style/allgemein.css' rel='stylesheet' type='text/css'>
    <link href='_style/divs.css' rel='stylesheet' type='text/css'>
    <link href='_style/table.css' rel='stylesheet' type='text/css'>

    </head>

    <body>
    <div id='container'>
      <!-- Header beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_head'>
        <tr>
          <td id='head_bild'><form action='enter.php' method='post' name='login'><input class='login' name='nickname' onBlur='if (value == '') {value = 'Nickname'}' onFocus='if (value == 'Nickname') {value = ''}' type='text' value='Nickname'>&nbsp;&nbsp;<input class='login' name='pw' onBlur='if (value == '') {value = 'Passwort'}' onFocus='if (value == 'Passwort') {value = ''}' type='password' value='Passwort'>&nbsp;&nbsp;<input class='login_buttom' name='login' src='_images/index/login.png' type='image'><br><label>&bull; <a href='regist1.php'>Registrieren</a>&nbsp;&nbsp;&nbsp;&nbsp;&bull; <a href='remind.php'>Passwort vergessen</a></label></form></td>
        </tr>
      </table>
      <!-- Header end -->
      <!-- Main beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_main'>
        <tr>
          <!-- Content beginn -->
          <td id='content'>
            Hallo 
    $nickname<br>
            Deine Anmeldung war erfolgreich!<br><br>
          </td>
          <!-- Content end -->
          <!-- Navigation beginn -->
          <td id='nav'>
    "
    ?><?PHP require '_include/nav.php'?><?PHP echo "
          </td>
          <!-- Navigation end -->
        </tr>
      </table>
      <!-- Main end -->
      <!-- Footer beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_footer'>
        <tr>
          <td>&copy; 2008 by markus-force.ch</td>
        </tr>
      </table>
      <!-- Footer end -->
    </div>
    </body>
    </html>
    "
    ;
    }
    ?>
     
    Wer fehler findet, kann sie behalten

  11. #11
    spikaner spikaner ist offline Quereinsteiger @ php
    Registriert seit
    Feb 2007
    Ort
    München
    Beiträge
    439
    eine Fehlermeldung würde weiterhelfen bzw. eine genaue Beschreibung des Fehlers würde weiterhelfen.

    So können alle nur raten

    mfg Spikaner
     

  12. #12
    Avatar von SiMpLy
    SiMpLy SiMpLy ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Schweiz
    Beiträge
    30
    ja es wird alles angezeigt. ich selbst bekomme aber keine fehlermeldung, wenn nichts angegeben wurde. auch die mail wird verschickt und in der db geht auch alles. aber er nimmt trotzdem noch den gleichen namen, auch wenn er schon vergeben wäre etc.
     
    Wer fehler findet, kann sie behalten

  13. #13
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Okey, habe das mal eingefügt, aber komm ned so ganz klar. :/
    bin glaub ich wirklich zu doof dafür.
    Du Mußt schon mindesten die Post Variblenname anpassen nur reinkopieren den gepostet Text ist zu wenig

    $_POST["name"] heißt bei dir $_POST['nickname']; also mal alle Variablen namen anpassen bwz umschreiben so wie du sie im Formular vorgeben hast.

    Mfg Splasch
     

  14. #14
    Avatar von SiMpLy
    SiMpLy SiMpLy ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Schweiz
    Beiträge
    30
    oh, den hab ich übersehen. aber die restlichen sind ja alle umgeschrieben.
    aber ich kann immer noch alles eingeben was ich will etc. es ist alles funktionsfähig. auch der e-mail versand klappt.

    nur das pw wird in der mail noch falsch geschrieben. und ja wenn man halt ä ö ü schreibt im nickname, gehts auch noch.

    habe es geändert, aber nun kommt immer nur die fehlermeldung der php-abfrage:
    PHP-Code:
    <?PHP
    session_start
    ();
    include 
    '_conf/config.php';

    if(isset(
    $_POST["absenden"]))
    {
        
    // Post sachen auf schadcode überprüfen und neue variable zuweisen
        
    if(!eregi("^[a-zA-Z0-9_äöüÄÖÜ]+$",$_POST["nickname"]))
        {
            
    // Variable enthält Sonderzeichen
            
    $fehlertext "Sonderzeichen im Namen sind nicht erlaubt!";
            
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
            
    include("regist3.php");
            die;
        }
        else
        {
            
    $nameneu $_POST["nickname"];
            
    $laengename strlen($nameneu);
            If(
    $laengename 4)
            {
                
    $fehlertext "Nickname ist zu kurz!";
                
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
                
    include("regist3.php");
                die;
            }
        }
        
        if(!
    eregi("^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$",$_POST["email"]))
        {
            
    $fehlertext "Die Email-adresse ist ungültig!";
            
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
            
    include("regist3.php");
            die;
        }
        else
        {
            
    $emailneu $_POST["email"];
        }
        
        if(!
    eregi("^[a-zA-Z0-9_äöüÄÖÜ]+$",$_POST["pw"]))
        {
            
    $fehlertext "Sonderzeichen im Passwort sind nicht erlaubt!";
            
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
            
    include("regist3.php");
            die;
        }
        else
        {
            
    $laengepasswort strlen($_POST["pw"]);
            if(
    $laengepasswort 6)
            {
                
    $fehlertext "Passwort ist zu kurz!";
                
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
                
    include("regist3.php");
                die;
            }

        }

    // überprüfung ob Name oder email bereits vorhanden.
    $abfrage mysql_query("SELECT * from member where lower(nickname) = ' . strtolower($nameneu) . '");
    $anzahl mysql_num_rows($abfrage);
    if(
    $anzahl 0)
    {
      
    $fehlertext "Username existiert bereits!";
      
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
      
    include("regist3.php");
      die;
    }

    $abfrage mysql_query("SELECT * from member where lower(email) = ' . strtolower($emailneu) . '");
    $anzahl mysql_num_rows($abfrage);
    if(
    $anzahl 0)
    {
      
    $fehlertext "Emailadresse existiert bereits!";
      
    $zurueckbutton "regist2.php"// noch durch flexiblen link ersetzen
      
    include("regist3.php");
      die;
    }

    extract($_POST);
    extract($HTTP_SERVER_VARS);
    $nickname $_POST['nickname'];
    $email $_POST['email'];
    $pw md5($_POST['pw']);
    $vorname $_POST['vorname'];
    $nachname $_POST['nachname'];
    $str_hau $_POST['str_hau'];
    $postleitzahl $_POST['postleitzahl'];
    $wohnort $_POST['wohnort'];
    $land $_POST['land'];
    $geburtstag $_POST['geburtstag'];
    $geschlecht $_POST['geschlecht'];
    $icq $_POST['icq'];
    $msn $_POST['msn'];
    $datum $_POST['datum'];
    $datum date('d.m Y');
    $clock date("H:i:s");
    $ip $_SERVER['REMOTE_ADDR']; 
    $UserAgent $_SERVER["HTTP_USER_AGENT"];

    $link mysql_connect($dbhost,$dbuser,$dbpasswd) or die ("Keine Verbindung <br>Bitte Kontrolliere denn Hostname, Benutzername und Passwort.");
    mysql_select_db($dbname,$link);
    $query "INSERT INTO member (id,nickname,email,pw,vorname,nachname,str_hau,postleitzahl,wohnort,land,geburtstag,geschlecht,icq,msn) values('$id','$nickname','$email','$pw','$vorname','$nachname','$str_hau','$postleitzahl','$wohnort','$land','$geburtstag','$geschlecht','$icq','$msn')";
    $result mysql_query($query);

    $empfaenger "$email";

    $betreff "Benutzerregistrierung auf www.markus-force.ch";
    $header "From: $email";

    $message="
    Empfangen am 
    $datum um $clock:
    ----------------------------------------------------------------------------\n
    Hallo 
    $nickname

    Du hast dich mit deiner E-Mail-Adresse (
    $email) auf meiner Seite www.markus-force.ch registriert.

    Weisst du nichts von dieser Registrierung, dann lösche doch bitte diese Mail und der Account,
    wird automatisch auf meiner Seite www.markus-force.ch gelöscht.


    Die angegebenen Sachen von dir:
    Nickame: 
    $nickname
    E-Mail: 
    $email
    Passwort: 
    $pw


    Mit freundlichen Grüssen

    Markus-Force.ch
    ----------------------------------------------------------------------------\n
    "
    ;

    mail($empfaenger$betreff$message$header);

    echo 
    "
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
    <html>
    <head>

    "
    ?><?PHP require '_meta/meta.html'?><?PHP echo "
    <link href='_style/allgemein.css' rel='stylesheet' type='text/css'>
    <link href='_style/divs.css' rel='stylesheet' type='text/css'>
    <link href='_style/table.css' rel='stylesheet' type='text/css'>

    </head>

    <body>
    <div id='container'>
      <!-- Header beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_head'>
        <tr>
          <td id='head_bild'><form action='enter.php' method='post' name='login'><input class='login' name='nickname' onBlur='if (value == '') {value = 'Nickname'}' onFocus='if (value == 'Nickname') {value = ''}' type='text' value='Nickname'>&nbsp;&nbsp;<input class='login' name='pw' onBlur='if (value == '') {value = 'Passwort'}' onFocus='if (value == 'Passwort') {value = ''}' type='password' value='Passwort'>&nbsp;&nbsp;<input class='login_buttom' name='login' src='_images/index/login.png' type='image'><br><label>&bull; <a href='regist1.php'>Registrieren</a>&nbsp;&nbsp;&nbsp;&nbsp;&bull; <a href='remind.php'>Passwort vergessen</a></label></form></td>
        </tr>
      </table>
      <!-- Header end -->
      <!-- Main beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_main'>
        <tr>
          <!-- Content beginn -->
          <td id='content'>
            Hallo 
    $nickname<br>
            Deine Anmeldung war erfolgreich!<br><br>
          </td>
          <!-- Content end -->
          <!-- Navigation beginn -->
          <td id='nav'>
    "
    ?><?PHP require '_include/nav.php'?><?PHP echo "
          </td>
          <!-- Navigation end -->
        </tr>
      </table>
      <!-- Main end -->
      <!-- Footer beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_footer'>
        <tr>
          <td>&copy; 2008 by markus-force.ch</td>
        </tr>
      </table>
      <!-- Footer end -->
    </div>
    </body>
    </html>
    "
    ;
    }
      else
    {
    echo 
    "
    <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
    <html>
    <head>

    "
    ?><?PHP require '_meta/meta.html'?><?PHP echo "
    <link href='_style/allgemein.css' rel='stylesheet' type='text/css'>
    <link href='_style/divs.css' rel='stylesheet' type='text/css'>
    <link href='_style/table.css' rel='stylesheet' type='text/css'>

    </head>

    <body>
    <div id='container'>
      <!-- Header beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_head'>
        <tr>
          <td id='head_bild'><form action='enter.php' method='post' name='login'><input class='login' name='nickname' onBlur='if (value == '') {value = 'Nickname'}' onFocus='if (value == 'Nickname') {value = ''}' type='text' value='Nickname'>&nbsp;&nbsp;<input class='login' name='pw' onBlur='if (value == '') {value = 'Passwort'}' onFocus='if (value == 'Passwort') {value = ''}' type='password' value='Passwort'>&nbsp;&nbsp;<input class='login_buttom' name='login' src='_images/index/login.png' type='image'><br><label>&bull; <a href='regist1.php'>Registrieren</a>&nbsp;&nbsp;&nbsp;&nbsp;&bull; <a href='remind.php'>Passwort vergessen</a></label></form></td>
        </tr>
      </table>
      <!-- Header end -->
      <!-- Main beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_main'>
        <tr>
          <!-- Content beginn -->
          <td id='content'>
            Du hast nicht alles korrekt ausgeführt.<br>
            Bitte gehe nocheinmal zurück und schreib es neu.<br><br>
            <a href='javascript:history.back()';>Back</a>
          </td>
          <!-- Content end -->
          <!-- Navigation beginn -->
          <td id='nav'>
    "
    ?><?PHP require '_include/nav.php'?><?PHP echo "
          </td>
          <!-- Navigation end -->
        </tr>
      </table>
      <!-- Main end -->
      <!-- Footer beginn -->
      <table border='0' cellspacing='0' cellpadding='0' id='border_footer'>
        <tr>
          <td>&copy; 2008 by markus-force.ch</td>
        </tr>
      </table>
      <!-- Footer end -->
    </div>
    </body>
    </html>
    "
    ;
    }
    ?>
    Geändert von SiMpLy (15.06.08 um 12:34 Uhr)
     
    Wer fehler findet, kann sie behalten

  15. #15
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Ist klar das man das Pw in der Mail nicht lesen kann du sendest auch den Hash wert.

    Ersetze Passwort: $pw durch Passwort: $_POST['pw']


    Mfg Splasch
     

Ähnliche Themen

  1. PHP-Login mit Registrierung
    Von schlurpsel im Forum PHP
    Antworten: 26
    Letzter Beitrag: 26.06.11, 22:32
  2. Registrierung
    Von lisali im Forum Coders Talk
    Antworten: 4
    Letzter Beitrag: 23.02.09, 23:43
  3. Registrierung
    Von Freak im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 18.05.05, 16:46
  4. Registrierung per PHP
    Von Steeven im Forum PHP
    Antworten: 19
    Letzter Beitrag: 27.03.05, 19:30
  5. registrierung
    Von schleeper im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 14.10.02, 20:00