2022-02-23 22:44:33 +01:00
< ? php
// Initialisierung
$error = '' ;
$firstname = $lastname = $email = $username = '' ;
// Wurden Daten mit "POST" gesendet?
if ( $_SERVER [ 'REQUEST_METHOD' ] == " POST " ){
// Ausgabe des gesamten $_POST Arrays
echo " <pre> " ;
print_r ( $_POST );
echo " </pre> " ;
2022-03-17 11:19:26 +01:00
// vorname vorhanden, mindestens 1 Zeichen und maximal 30 Zeichen lang
if ( isset ( $_POST [ 'firstname' ]) && ! empty ( trim ( $_POST [ 'firstname' ])) && strlen ( trim ( $_POST [ 'firstname' ])) <= 30 ){
2022-02-23 22:44:33 +01:00
// Spezielle Zeichen Escapen > Script Injection verhindern
$firstname = htmlspecialchars ( trim ( $_POST [ 'firstname' ]));
} else {
// Ausgabe Fehlermeldung
$error .= " Geben Sie bitte einen korrekten Vornamen ein.<br /> " ;
}
2022-03-17 11:19:26 +01:00
// nachname vorhanden, mindestens 1 Zeichen und maximal 30 zeichen lang
if ( isset ( $_POST [ 'lastname' ]) && ! empty ( trim ( $_POST [ 'lastname' ])) && strlen ( trim ( $_POST [ 'lastname' ])) <= 30 ){
// Spezielle Zeichen Escapen > Script Injection verhindern
$lastname = htmlspecialchars ( trim ( $_POST [ 'lastname' ]));
} else {
// Ausgabe Fehlermeldung
$error .= " Geben Sie bitte einen korrekten Nachnamen ein.<br /> " ;
}
// emailadresse vorhanden, mindestens 1 Zeichen und maximal 100 zeichen lang
if ( isset ( $_POST [ 'email' ]) && ! empty ( trim ( $_POST [ 'email' ])) && strlen ( trim ( $_POST [ 'email' ])) <= 100 ){
$email = htmlspecialchars ( trim ( $_POST [ 'email' ]));
// korrekte emailadresse?
if ( filter_var ( $email , FILTER_VALIDATE_EMAIL ) === false ){
$error .= " Geben Sie bitte eine korrekte Email-Adresse ein<br /> " ;
}
} else {
// Ausgabe Fehlermeldung
$error .= " Geben Sie bitte eine korrekte Email-Adresse ein.<br /> " ;
}
// benutzername vorhanden, mindestens 6 Zeichen und maximal 30 zeichen lang
if ( isset ( $_POST [ 'username' ]) && ! empty ( trim ( $_POST [ 'username' ])) && strlen ( trim ( $_POST [ 'username' ])) <= 30 ){
$username = trim ( $_POST [ 'username' ]);
// entspricht der benutzername unseren vogaben (minimal 6 Zeichen, Gross- und Kleinbuchstaben)
if ( ! preg_match ( " /(?=.*[a-z])(?=.*[A-Z])[a-zA-Z] { 6,}/ " , $_POST [ 'username' ])){
$error .= " Der Benutzername entspricht nicht dem geforderten Format.<br /> " ;
}
} else {
// Ausgabe Fehlermeldung
$error .= " Geben Sie bitte einen korrekten Benutzernamen ein.<br /> " ;
}
// passwort vorhanden, mindestens 8 Zeichen
if ( isset ( $_POST [ 'password' ]) && ! empty ( trim ( $_POST [ 'password' ]))){
$password = trim ( $_POST [ 'password' ]);
//entspricht das passwort unseren vorgaben? (minimal 8 Zeichen, Zahlen, Buchstaben, keine Zeilenumbrüche, mindestens ein Gross- und ein Kleinbuchstabe)
if ( ! preg_match ( " /(?=^. { 8,} $ )((?=.* \ d+)(?=.* \ W+))(?![. \n ])(?=.*[A-Z])(?=.*[a-z]).* $ / " , $_POST [ 'password' ])){
$error .= " Das Passwort entspricht nicht dem geforderten Format.<br /> " ;
}
} else {
// Ausgabe Fehlermeldung
$error .= " Geben Sie bitte einen korrekten Nachnamen ein.<br /> " ;
}
2022-02-23 22:44:33 +01:00
}
?>
<! DOCTYPE html >
< html lang = " en " >
< head >
< meta charset = " utf-8 " >
< meta http - equiv = " X-UA-Compatible " content = " IE=edge " >
< meta name = " viewport " content = " width=device-width, initial-scale=1 " >
< title > Registrierung </ title >
<!-- Bootstrap -->
< link rel = " stylesheet " href = " https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css " >
< link rel = " stylesheet " href = " https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css " >
<!-- HTML5 Shim and Respond . js IE8 support of HTML5 elements and media queries -->
<!-- WARNING : Respond . js doesn ' t work if you view the page via file :// -->
<!-- [ if lt IE 9 ] >
< script src = " https://oss.maxcdn.com/libs/html5shiv/3.7.2/html5shiv.js " ></ script >
< script src = " https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js " ></ script >
<! [ endif ] -->
</ head >
< body >
< div class = " container " >
< h1 > Registrierung </ h1 >
< p >
Bitte registrieren Sie sich , damit Sie diesen Dienst benutzen können .
</ p >
< ? php
// Ausgabe der Fehlermeldungen
if ( strlen ( $error )){
echo " <div class= \" alert alert-danger \" role= \" alert \" > " . $error . " </div> " ;
}
?>
< form action = " " method = " post " >
<!-- vorname -->
< div class = " form-group " >
< label for = " firstname " > Vorname *</ label >
< input type = " text " name = " firstname " class = " form-control " id = " firstname "
value = " <?php echo $firstname ?> "
placeholder = " Geben Sie Ihren Vornamen an. "
maxlength = " 30 "
required = " true " >
</ div >
2022-03-17 11:19:26 +01:00
<!-- nachname -->
2022-02-23 22:44:33 +01:00
< div class = " form-group " >
< label for = " lastname " > Nachname *</ label >
< input type = " text " name = " lastname " class = " form-control " id = " lastname "
value = " <?php echo $lastname ?> "
2022-03-17 11:19:26 +01:00
placeholder = " Geben Sie Ihren Nachnamen an "
maxlength = " 30 "
required = " true " >
2022-02-23 22:44:33 +01:00
</ div >
2022-03-17 11:19:26 +01:00
<!-- email -->
2022-02-23 22:44:33 +01:00
< div class = " form-group " >
< label for = " email " > Email *</ label >
< input type = " email " name = " email " class = " form-control " id = " email "
value = " <?php echo $email ?> "
2022-03-17 11:19:26 +01:00
placeholder = " Geben Sie Ihre Email-Adresse an. "
maxlength = " 100 "
required = " true " >
2022-02-23 22:44:33 +01:00
</ div >
2022-03-17 11:19:26 +01:00
<!-- benutzername -->
2022-02-23 22:44:33 +01:00
< div class = " form-group " >
< label for = " username " > Benutzername *</ label >
< input type = " text " name = " username " class = " form-control " id = " username "
value = " <?php echo $username ?> "
2022-03-17 11:19:26 +01:00
placeholder = " Gross- und Keinbuchstaben, min 6 Zeichen. "
maxlength = " 30 " required = " true "
pattern = " (?=.*[a-z])(?=.*[A-Z])[a-zA-Z] { 6,} "
title = " Gross- und Keinbuchstaben, min 6 Zeichen. " >
2022-02-23 22:44:33 +01:00
</ div >
2022-03-17 11:19:26 +01:00
<!-- password -->
2022-02-23 22:44:33 +01:00
< div class = " form-group " >
< label for = " password " > Password *</ label >
< input type = " password " name = " password " class = " form-control " id = " password "
2022-03-17 11:19:26 +01:00
placeholder = " Gross- und Kleinbuchstaben, Zahlen, Sonderzeichen, min. 8 Zeichen, keine Umlaute "
pattern = " (?=^. { 8,} $ )((?=.* \ d+)(?=.* \ W+))(?![. \n ])(?=.*[A-Z])(?=.*[a-z]).* $ "
title = " mindestens einen Gross-, einen Kleinbuchstaben, eine Zahl und ein Sonderzeichen, mindestens 8 Zeichen lang,keine Umlaute. "
required = " true " >
2022-02-23 22:44:33 +01:00
</ div >
< button type = " submit " name = " button " value = " submit " class = " btn btn-info " > Senden </ button >
< button type = " reset " name = " button " value = " reset " class = " btn btn-warning " > Löschen </ button >
</ form >
</ div >
<!-- jQuery ( necessary for Bootstrap ' s JavaScript plugins ) -->
< script src = " https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js " ></ script >
<!-- Include all compiled plugins ( below ), or include individual files as needed -->
< script src = " https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js " ></ script >
</ body >
</ html >