WebImpressionen
Aktivieren
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>
  1. <form method = "post">

  2. <div class = "form-face">
  3. <label for = "name"> Username: <span> * </span> </label>
  4. <span class = "fehler"> <?php echo $username_err ; ?> </span>
  5. <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">
  6. </div>

  7. <div class = "form-face">
  8. <label for = "passwort"> Passwort: <span> * </span> </label>
  9. <span class = "fehler"> <?php echo $password_err ; ?> </span>
  10. <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">
  11. </div>

  12. <div class = "form-face">
  13. <span class="fehler"> <?php echo $code_err ; ?> </span>
  14. <label for = "code"> Code: <span> * </span> </label>
  15. <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">
  16. </div>

  17. <div class = "form-face">
  18. <label> <span> * </span> Felder sind Pflicht! </label>
  19. <input type = "submit" class = "butt button-blue" name = "kode" value = " Freischalten ">
  20. <input class = "butt button-red" type = "reset" value = " Reset ">
  21. </div>

  22. </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
  1. session_start ( ) ;

    • // Prüfen ob User eingeloggt ist oder nicht
  2. if ( isset ( $_SESSION [ " loggedin " ] ) & & $_SESSION [ " loggedin " ] = = = true )
  3. {
  4. header ( "Location : welcome.php" ) ; exit ( ) ;
  5. }

    • // Variablen definieren und auf leere Werte setzen
  6. $username = $password = $code = " " ;
  7. $username_err = $password_err = $code_err = " " ;

    • // Formulardaten werden verarbeitet, wenn das Formular gesendet wird
  8. if ( isset ( $_POST [ ' kode ' ] ) & & $_POST [ ' kode ' ] = = 'Freischalten' )
  9. {

    • // POST für Username prüfen
  10. $postusername = isset ( $_POST [ ' username ' ] ) ? $_POST [ ' username ' ] : " " ;
  11. if ( empty ( $postusername ) )
  12. {
  13. $username_err = ' Feld Username ist leer ! ' ;
  14. }
  15. elseif ( ( strlen ( trim ( $postusername ) ) < 5 ) | | ( strlen ( trim ( $postusername ) ) ) > 30 )
  16. {
  17. $username_err = ' Username nicht korrekt ! ';
  18. }
  19. else
  20. {
  21. $username = htmlspecialchars ( $postusername ) ;
  22. if ( ! preg_match ( " / ^ [ A - Z ] + [ a - z A - Z 0 - 9 - _ ' ] * $ / " , $username ) )
  23. {
  24. $username_err = ' Falscher Username ! ' ;
  25. }
  26. if ( $username = = = false )
  27. {
  28. $username_err = ' Dies ist kein Username ! ' ;
  29. }
  30. }

    • // POST für Passwort prüfen
  31. $postpass = isset ( $_POST [ ' passwort ' ] ) ? $_POST [ ' passwort ' ] : " " ;
  32. if ( empty ( $postpass ) )
  33. {
  34. $password_err = ' Feld Passwort ist leer ! ' ;
  35. }
  36. elseif ( ( strlen ( trim ( $postpass ) ) < 10 ) | | ( strlen ( trim ( $postpass ) ) ) > 40 )
  37. {
  38. $password_err = ' Passwort nicht korrekt ! ';
  39. }
  40. else
  41. {
  42. $password = htmlspecialchars ( $postpass ) ;
  43. if ( ! preg_match ( " / [ ^ a - z A - Z 0 - 9 ] / " , $password ) )
  44. {
  45. $password_err = ' minimum je 1mal Groß, Klein-Buchstabe, Ziffer und Sonderzeichen sind Pflicht ! ' ;
  46. }
  47. if ( $password = = = false )
  48. {
  49. $password_err = ' Dies ist kein Passwort ! ' ;
  50. }
  51. }

    • // POST für Code prüfen
  52. $postcoddi = isset ( $_POST [ ' code ' ] ) ? $_POST [ ' code ' ] : " " ;
  53. if ( empty ( $postcoddi ) )
  54. {
  55. $code_err = ' Feld Code ist leer ! ' ;
  56. }
  57. elseif ( ( strlen ( trim ( $postcoddi ) ) < 11 ) | | ( strlen ( trim ( $postcoddi ) ) ) > 13 )
  58. {
  59. $code_err = ' Code nicht korrekt ! ' ;
  60. }
  61. else
  62. {
  63. $code = IntVal ( $postcoddi ) ;
  64. if ( $code = = = false )
  65. {
  66. $code_err = ' Dies ist kein Freischaltcode ! ' ;
  67. }
  68. }




    • // Keine Fehler Formular Inhalt ausführen
  69. if ( empty ( $username_err ) & & empty ( $password_err ) & & empty ( $code_err ) )
  70. {

    • // Datenbank abfrage
  71. $sql = " SELECT id , username , userpass , code FROM usertable WHERE username = ? and active = 0 and block = 0 " ;
  72. if ( $stmt = $sqli -> prepare ( $sql ) )
  73. {
  74. $stmt -> bind_param ( " s " , $param_username ) ;
  75. $param_username = $username ;
  76. if ( $stmt -> execute ( ) )
  77. {
  78. $stmt -> store_result ( ) ;
  79. if ( $stmt -> num_rows = = 1 )
  80. {
  81. $stmt -> bind_result ( $id , $username , $hashed_password , $coder ) ;
  82. if ( $stmt -> fetch ( ) )
  83. {
  84. if ( password_verify ( $password , $hashed_password ) )
  85. {
  86. if ( $code = = $coder )
  87. {

    • // Datenbank aktualisieren
  88. $stmt = $sqli -> prepare ( " UPDATE usertable SET active = ? WHERE id = ? " ) ;
  89. $active = $sqli -> real_escape_string ( IntVal ( 1 ) ) ;
  90. $id = IntVal ( $id ) ;
  91. $stmt -> bind_param ( ' i i ' , $active , $id ) ;
  92. $stmt -> execute ( ) ;
  93. header ( " Location: login.php " ) ;
  94. }
  95. else
  96. {
  97. $code_err = ' Code nicht korrekt ! ' ;

    • // Session beenden und löschen
  98. session_unset ( ) ; session_destroy ( ) ;
  99. }
  100. }
  101. else
  102. {
  103. $password_err = ' Passwort nicht korrekt ! ' ;
  104. }
  105. }
  106. }
  107. else
  108. {
  109. $username_err = ' Account schon Freigeschaltet ? ' ;
  110. }
  111. }
  112. else
  113. {
  114. echo ' ERROR Bitte nochmals versuchen ! ' ;
  115. }
  116. }
  117. $stmt -> close ( ) ;
  118. }
  119. $sqli -> close ( ) ;
  120. }


    • // Keine Fehler Formular Inhalt ausführen
  121. if ( empty ( $username_err ) & & empty ( $password_err ) & & empty ( $code_err ) )
  122. {

    • // Datenbank abfrage
  123. $sql = " SELECT id , username , userpass , code FROM usertable WHERE username = ? and active = 0 and block = 0 " ;
  124. if ( $stmt = $pdo -> prepare ( $sql ) )
  125. {
  126. $param_username = $username ;
  127. if ( $stmt -> execute ( array ( $param_username ) ) )
  128. {
  129. if ( $stmt -> rowCount ( ) == 1 )
  130. {
  131. if ( $rows = $stmt -> fetch ( PDO : : FETCH_ASSOC ) )
  132. {
  133. $id = $rows [ " id " ] ;
  134. $coder = $rows [ " code " ] ;
  135. $username = $rows [ " username " ] ;
  136. $hashed_password = $rows [ " userpass " ] ;
  137. if ( password_verify ( $password , $hashed_password ) )
  138. {
  139. if ( $code = = $coder )
  140. {

    • // Datenbank aktualisieren
  141. $stmt = $pdo -> prepare ( " UPDATE usertable SET active = ? WHERE id = ? " ) ;
  142. $active = IntVal ( 1 ) ;
  143. $id = IntVal ( $id ) ;
  144. if ( $stmt -> execute ( array ( $active , $id ) ) )
  145. header ( " Location: login.php " ) ;
  146. }
  147. else
  148. {
  149. $code_err = ' Code nicht korrekt ! ' ;

    • // Session beenden und löschen
  150. session_unset ( ) ; session_destroy ( ) ;
  151. }
  152. }
  153. else
  154. {
  155. $password_err = ' Passwort nicht korrekt ! ' ;
  156. }
  157. }
  158. }
  159. else
  160. {
  161. $username_err = ' Account schon Freigeschaltet ? ' ;
  162. }
  163. }
  164. else
  165. {
  166. echo ' ERROR Bitte nochmals versuchen ! ' ;
  167. }
  168. }
  169. $pdo = null ;
  170. }
  171. }
?>
 Hier wird das formular eingefügt.