2015-12-02 10:44:39 +00:00
<! DOCTYPE html >
< ? php /* [ 0 ] VERIFICATION DE CONNECTION
=============================================*/
$postVariablesAreSet = isset ( $_POST [ 'username' ]) && isset ( $_POST [ 'mail' ]) && isset ( $_POST [ 'password' ]) && isset ( $_POST [ 'co' ]); // si les variables POST existent
$postVariablesTypeOk = $postVariablesAreSet && is_string ( $_POST [ 'username' ]) && is_string ( $_POST [ 'mail' ]) && is_string ( $_POST [ 'password' ]) && is_string ( $_POST [ 'co' ]); // si ce sont des string
$postVariablesNEmpty = $postVariablesTypeOk && strlen ( $_POST [ 'username' ]) > 1 && strlen ( $_POST [ 'mail' ]) > 1 && strlen ( $_POST [ 'password' ]) > 1 && strlen ( $_POST [ 'co' ]) > 1 ; // si au moins 1 caractère
$usernameCheck = $postVariablesNEmpty && preg_match ( " /^[ \ w -] { 3,10} $ /i " , $_POST [ 'username' ]); // utilisateur -> "alphanum_- " -> 3 à 10 caractères
$mailCheck = $usernameCheck && preg_match ( " /^[ \ w \ .-]+@[ \ w \ .-]+ \ .[a-z] { 2,4} $ /i " , $_POST [ 'mail' ]); // mail -> bon format
$passwordCheck = $mailCheck && preg_match ( " /^[ \ w -] { 8,50} $ /i " , $_POST [ 'password' ]); // password -> "alphanum_- " -> 8 à 50 caractères
$coCheck = $passwordCheck && $_POST [ 'co' ] == 'Me connecter' ;
if ( $coCheck ){ // si toutes les valeurs sont correctes
$user = array (); // on définit l'utilisateur
$user [ 'name' ] = $_POST [ 'username' ];
$user [ 'mail' ] = $_POST [ 'mail' ];
$user [ 'password' ] = $_POST [ 'password' ];
$user [ 'hash' ] = sha1 ( $_POST [ 'password' ]);
}
// retourne VRAI si l'utilisateur est connecté
function connected ( $user ){ return ( $user != null ); }
?>
< html >
< head >
< title > Tests php </ title >
< meta charset = 'utf-8' />
< meta name = 'description' value = 'Site de test' />
< meta name = 'author' value = '{xdrm} & SeekDaSky' />
2015-12-02 12:30:39 +00:00
< link rel = 'stylesheet' href = 'login.css' />
2015-12-02 10:44:39 +00:00
</ head >
< body >
< ? php /* [ 1 ] AFFICHAGE DIFFÉRÉ SI CONNECTÉ
==============================================*/
echo " <form action='#auth' method='POST'> " ;
/* AFFICHAGE D'ERREURS */
if ( $postVariablesAreSet ){ // si formulaire soumis
if ( ! $postVariablesNEmpty )
echo '<span class=error>Certains champs requis sont vides.</span>' ;
elseif ( ! $usernameCheck )
echo '<span class=error>Nom d\'utilisateur incorrect. (3 car. min)</span>' ;
elseif ( ! $mailCheck )
echo '<span class=error>Adresse mail incorrecte.</span>' ;
elseif ( ! $passwordCheck )
echo '<span class=error>Mot de passe incorrect. (8 car. min)</span>' ;
elseif ( connected ( $user ) )
echo '<span class=success>Vous êtes connectés.</span>' ;
}
echo " <input type='text' name='username' placeholder='username' " . ( ( connected ( $user )) ? " value=' " . $user [ 'name' ] . " ' " : '' ) . " > " ;
echo " <input type='mail' name='mail' placeholder='mail' " . ( ( connected ( $user )) ? " value=' " . $user [ 'mail' ] . " ' " : '' ) . " > " ;
echo " <input type='password' name='password' placeholder='password' " . ( ( connected ( $user )) ? " value=' " . $user [ 'password' ] . " ' " : '' ) . " > " ;
echo " <input type='submit' name='co' value='Me connecter'> " ;
echo " </form> " ;
?>
</ body >
</ html >