Login Script+Registrierung+aktivierung per mail

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

  • Login Script+Registrierung+aktivierung per mail

    Hallo Liebes Forum,
    ist schon etwas länger her seit dem ich hier letztes mal war, aber ich kann mich an eure gute Hilfe erinnern.

    So,
    Ich bin gerade dabei ein Login script für ein PHP Projekt zu schreiben vllt. sogar anzupassen/abzuändern.
    Ich bin nicht der PHP Profi, aber einiges schaffe ich selber.
    Ich habe mir einiges aus dem Netz rausgesucht und angepasst. Für verbesserungs Vorschläge bin ich gerne offen.
    So jetzt kommen wir zu meinem Problem,
    ich bin zurzeit am registrierungs script, wo sich User eintragen können.
    Jedoch klappt irgendwie der übertrag nicht in die Datenbank und die Überprüfungen.
    Wenn das geschafft ist kommt ein aktivierungs link per email drann, sowie die aktivierung selber.
    Was die Sicherheit angeht würde ich gerne ein Captcha einbauen, jedoch verstehe ich den Captcha noch nicht wirklich.

    So das script:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL); //fehlerreport ausgabe im Browser
    ini_set('display_errors'1); //setzt die php einstellung der error Anzeige
    ?>
    <?php
    //einwahl in die Datenbank
    //include ('../db_access/db_login.php');
    include_once('..\db_access\db_login.php'); 

    if(!isset(
    $_POST['sub1']) || empty($_POST['sub1']))
    {
        
    // Post Script Formular
     
    print('<form action="" method="post">
            Vorname: <input type="text" name="nachname"><br>
            Nachname: <input type="text" name="vorname"><br>
            Loginname: <input type="text" name="username"><br>
            Geburtstag:<input type="text" name="geb"><br>
            E-Mail: <input type="text" name="mail"><br>
            Passwort: <input type="text" name="passw"><br><br>
            <input type="submit" name="sub1" value="LOGIN">
            <INPUT TYPE=RESET VALUE="Reset">
            </form>'
    );
    }
    else if(
    $_POST['sub1'] == 'LOGIN')
    {
    // 1.Überprüfung ob Nickname schon vorhanden ist    

     
    $check mysql_query('SELECT nickname FROM benutzer
                                       WHERE nickname="'
    .$_POST['username'].'"');
     
    $anzeige mysql_fetch_row($check);
     if(
    $anzeige[0] == $_POST['username'])
     {  
    //Anzeige-Meldung<h2></h2>
      
    print('<script language="Javascript">
              alert("Dieser Benutzter ist schon vorhanden!Überprüfen sie ihre Eingaben.");
             </script>'
    );
     }
     else  
    //ansonsten übermittlung der Daten an Datenbank
     
    {
      if(!empty(
    $_POST['passwort']) && !empty($_POST['login']))
      {
       print(
    '<script language="Javascript">
               alert("Erfolgreiche Übermittlung ihrer Daten!");
              </script>'
    );
       
    $benutzer mysql_query("pca_friends",'INSERT INTO benutzer
               (vorname, nachname, nickname, geburtstag, email, passwort, registrationsdatum) VALUES
               ("'
    .$_POST['vorname'].'",
                "'
    .$_POST['$nachname'].'",
                "'
    .$_POST['$nickname'].'",
                "'
    .$_POST['$geb'].'",
                "'
    .$_POST['$mail'].'",
                "'
    .$_POST['$passw'].'",
                Now())'
    );

               
       }
       else
       {
        print(
    '<script language="Javascript">
               alert("Ihre Eingaben konnten nicht übermittelt werden");
              </script>'
    );
       }
      }
    }

    ?>
    Wäre euch sehr verbunden Danke SkyX

  • #2
    Und was ist jetzt genau dein Problem?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Also,
      Ich habe alle möglichen Fehler die mir durch den Error Befehl aufgerufen wurden behoben.
      Zum Problem selber, Die Felder werden alle angezeigt.
      Man trägt die Daten ein und bestätigt, jedoch kommt die Meldung "Ihre Eingaben konnten nicht übermittelt werden".
      Wenn garnichts eingetragen ist kommt "Dieser Benutzter ist schon vorhanden!Überprüfen sie ihre Eingaben"

      Und habe deswegen das Gefühl, dass er nicht überprüft was eingegeben wurde.

      Grüße
      PS eigentlicher Ablauf=
      Daten eingeben->Überprüfung ob schon vorhanden->Wenn vorhanden Meldung->Wenn nicht vorhanden bestätigen und übermitteln
      Zuletzt geändert von SkyX; 03.02.2010, 17:58.

      Kommentar


      • #4
        Zitat von SkyX Beitrag anzeigen
        Wenn garnichts eingetragen ist kommt "Dieser Benutzter ist schon vorhanden!Überprüfen sie ihre Eingaben"
        PHP-Code:
         $check mysql_query('SELECT nickname FROM benutzer
                                           WHERE nickname="'
        .$_POST['username'].'"');
        $anzeige mysql_fetch_row($check);
        if(
        $anzeige[0] == $_POST['username']) 
        Worked as designed. Wenn $anzeige[0] leer ist und $_POST['username'] auch, dann trifft die Bedingung zu.

        Zuallererst solltest du erst mal alle Pflichtfelder auf Einträge hin überprüfen.
        Zitat von SkyX Beitrag anzeigen
        Man trägt die Daten ein und bestätigt, jedoch kommt die Meldung "Ihre Eingaben konnten nicht übermittelt werden".
        PHP-Code:
        if(!empty($_POST['passwort']) && !empty($_POST['login'])) 
        Ich sehe kein Formularelement, dass login heißt.
        Zitat von SkyX Beitrag anzeigen
        Und habe deswegen das Gefühl ...
        Gefühle sind beim Programmieren eher hinderlich.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          PHP-Code:
           $check mysql_query('SELECT nickname FROM benutzer
                                             WHERE nickname="'
          .$_POST['username'].'"'); 
          sql injection Gefahr!

          Kommentar

          Lädt...
          X