Zum Aktivieren wird ein Formular benötigt.
Hinweis Menü / Formulare: eMail unter XAMPP Offline testen
das formular
- <! DOCTYPE html>
- <html lang = " de "> <head>
- <meta charset = " UTF-8 ">
- <meta name = " viewport " content = " width = device-width , initial-scale = 1 . 0 ">
- <title> Aktivierungs Formular </title>
- <meta name = " dcterms.rights " content = " locomputing ">
- <meta name = " description " content = " Beschreibung der Website ">
- <meta name = " keywords " content = " Keywords ">
- <link rel = " stylesheet " href = " https : / / locomputing . de / mustercss / formular_style . css ">
- </head>
- <body>
- <h4> Freischalt-Formular </h4>
- <p> Bitte geben Sie Ihre Daten ein. </p>
- <fieldset>
- <form method = "post">
- <div class = "form-face">
- <label for = "name"> Username: <span> * </span> </label>
- <span class = "fehler"> <?php echo $username_err ; ?> </span>
- <input pattern = " [ A - Z ] [ a - z A - Z 0 - 9 _ - ] { 4 , 29 } " required = "required" placeholder = " Anmelde Name " title = " Anmelde Namen eintragen " type = "text" id = "username" name = "username" maxlength = "32" class = "form-control">
- </div>
- <div class = "form-face">
- <label for = "passwort"> Passwort: <span> * </span> </label>
- <span class = "fehler"> <?php echo $password_err ; ?> </span>
- <input pattern = " ( ? = . * \ d ) ( ? = . * [ a - z ] ) ( ? = . * [ A - Z ] ) . { 12 , 40 } " required = "required" placeholder = " Anmelde Passwort " title = " Anmelde Passwort eintragen " type = "password" id = "passwort" name = "passwort" maxlength = "42" class = "form-control">
- </div>
- <div class = "form-face">
- <span class="fehler"> <?php echo $code_err ; ?> </span>
- <label for = "code"> Code: <span> * </span> </label>
- <input pattern = " [ 0 - 9 ] { 11 , 13 } " required = "required" placeholder = " Code aus eMail " title = " Code aus eMail eintragen " type = "text" id = "code" name = "code" maxlength = "14" class = "form-control">
- </div>
- <div class = "form-face">
- <label> <span> * </span> Felder sind Pflicht! </label>
- <input type = "submit" class = "butt button-blue" name = "kode" value = " Freischalten ">
- <input class = "butt button-red" type = "reset" value = " Reset ">
- </div>
- </form>
- </fieldset>
- <p> Account ist schon freigeschaltet! <a href = "login.php"> Login hier </a> </p>
- </body>
- </html>
die freischalten.php
<?php
- // Datenbank verbindung einfügen
- if ( file_exists ( ' db_conect.php ' ) = = true ) { require ( ' db_conect.php ' ) ; }
- // Sitzung starten
- session_start ( ) ;
- // Prüfen ob User eingeloggt ist oder nicht
- if ( isset ( $_SESSION [ " loggedin " ] ) & & $_SESSION [ " loggedin " ] = = = true )
- {
- header ( "Location : welcome.php" ) ; exit ( ) ;
- }
- // Variablen definieren und auf leere Werte setzen
- $username = $password = $code = " " ;
- $username_err = $password_err = $code_err = " " ;
- // Formulardaten werden verarbeitet, wenn das Formular gesendet wird
- if ( isset ( $_POST [ ' kode ' ] ) & & $_POST [ ' kode ' ] = = 'Freischalten' )
- {
- // POST für Username prüfen
- $postusername = isset ( $_POST [ ' username ' ] ) ? $_POST [ ' username ' ] : " " ;
- if ( empty ( $postusername ) )
- {
- $username_err = ' Feld Username ist leer ! ' ;
- }
- elseif ( ( strlen ( trim ( $postusername ) ) < 5 ) | | ( strlen ( trim ( $postusername ) ) ) > 30 )
- {
- $username_err = ' Username nicht korrekt ! ';
- }
- else
- {
- $username = htmlspecialchars ( $postusername ) ;
- if ( ! preg_match ( " / ^ [ A - Z ] + [ a - z A - Z 0 - 9 - _ ' ] * $ / " , $username ) )
- {
- $username_err = ' Falscher Username ! ' ;
- }
- if ( $username = = = false )
- {
- $username_err = ' Dies ist kein Username ! ' ;
- }
- }
- // POST für Passwort prüfen
- $postpass = isset ( $_POST [ ' passwort ' ] ) ? $_POST [ ' passwort ' ] : " " ;
- if ( empty ( $postpass ) )
- {
- $password_err = ' Feld Passwort ist leer ! ' ;
- }
- elseif ( ( strlen ( trim ( $postpass ) ) < 10 ) | | ( strlen ( trim ( $postpass ) ) ) > 40 )
- {
- $password_err = ' Passwort nicht korrekt ! ';
- }
- else
- {
- $password = htmlspecialchars ( $postpass ) ;
- if ( ! preg_match ( " / [ ^ a - z A - Z 0 - 9 ] / " , $password ) )
- {
- $password_err = ' minimum je 1mal Groß, Klein-Buchstabe, Ziffer und Sonderzeichen sind Pflicht ! ' ;
- }
- if ( $password = = = false )
- {
- $password_err = ' Dies ist kein Passwort ! ' ;
- }
- }
- // POST für Code prüfen
- $postcoddi = isset ( $_POST [ ' code ' ] ) ? $_POST [ ' code ' ] : " " ;
- if ( empty ( $postcoddi ) )
- {
- $code_err = ' Feld Code ist leer ! ' ;
- }
- elseif ( ( strlen ( trim ( $postcoddi ) ) < 11 ) | | ( strlen ( trim ( $postcoddi ) ) ) > 13 )
- {
- $code_err = ' Code nicht korrekt ! ' ;
- }
- else
- {
- $code = IntVal ( $postcoddi ) ;
- if ( $code = = = false )
- {
- $code_err = ' Dies ist kein Freischaltcode ! ' ;
- }
- }
- // Keine Fehler Formular Inhalt ausführen
- if ( empty ( $username_err ) & & empty ( $password_err ) & & empty ( $code_err ) )
- {
- // Datenbank abfrage
- $sql = " SELECT id , username , userpass , code FROM usertable WHERE username = ? and active = 0 and block = 0 " ;
- if ( $stmt = $sqli -> prepare ( $sql ) )
- {
- $stmt -> bind_param ( " s " , $param_username ) ;
- $param_username = $username ;
- if ( $stmt -> execute ( ) )
- {
- $stmt -> store_result ( ) ;
- if ( $stmt -> num_rows = = 1 )
- {
- $stmt -> bind_result ( $id , $username , $hashed_password , $coder ) ;
- if ( $stmt -> fetch ( ) )
- {
- if ( password_verify ( $password , $hashed_password ) )
- {
- if ( $code = = $coder )
- {
- // Datenbank aktualisieren
- $stmt = $sqli -> prepare ( " UPDATE usertable SET active = ? WHERE id = ? " ) ;
- $active = $sqli -> real_escape_string ( IntVal ( 1 ) ) ;
- $id = IntVal ( $id ) ;
- $stmt -> bind_param ( ' i i ' , $active , $id ) ;
- $stmt -> execute ( ) ;
- header ( " Location: login.php " ) ;
- }
- else
- {
- $code_err = ' Code nicht korrekt ! ' ;
- // Session beenden und löschen
- session_unset ( ) ; session_destroy ( ) ;
- }
- }
- else
- {
- $password_err = ' Passwort nicht korrekt ! ' ;
- }
- }
- }
- else
- {
- $username_err = ' Account schon Freigeschaltet ? ' ;
- }
- }
- else
- {
- echo ' ERROR Bitte nochmals versuchen ! ' ;
- }
- }
- $stmt -> close ( ) ;
- }
- $sqli -> close ( ) ;
- }
- // Keine Fehler Formular Inhalt ausführen
- if ( empty ( $username_err ) & & empty ( $password_err ) & & empty ( $code_err ) )
- {
- // Datenbank abfrage
- $sql = " SELECT id , username , userpass , code FROM usertable WHERE username = ? and active = 0 and block = 0 " ;
- if ( $stmt = $pdo -> prepare ( $sql ) )
- {
- $param_username = $username ;
- if ( $stmt -> execute ( array ( $param_username ) ) )
- {
- if ( $stmt -> rowCount ( ) == 1 )
- {
- if ( $rows = $stmt -> fetch ( PDO : : FETCH_ASSOC ) )
- {
- $id = $rows [ " id " ] ;
- $coder = $rows [ " code " ] ;
- $username = $rows [ " username " ] ;
- $hashed_password = $rows [ " userpass " ] ;
- if ( password_verify ( $password , $hashed_password ) )
- {
- if ( $code = = $coder )
- {
- // Datenbank aktualisieren
- $stmt = $pdo -> prepare ( " UPDATE usertable SET active = ? WHERE id = ? " ) ;
- $active = IntVal ( 1 ) ;
- $id = IntVal ( $id ) ;
- if ( $stmt -> execute ( array ( $active , $id ) ) )
- header ( " Location: login.php " ) ;
- }
- else
- {
- $code_err = ' Code nicht korrekt ! ' ;
- // Session beenden und löschen
- session_unset ( ) ; session_destroy ( ) ;
- }
- }
- else
- {
- $password_err = ' Passwort nicht korrekt ! ' ;
- }
- }
- }
- else
- {
- $username_err = ' Account schon Freigeschaltet ? ' ;
- }
- }
- else
- {
- echo ' ERROR Bitte nochmals versuchen ! ' ;
- }
- }
- $pdo = null ;
- }
- } ?>
Hier wird das formular eingefügt.