72 lines
3.2 KiB
PHP
72 lines
3.2 KiB
PHP
|
<!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'/>
|
||
|
|
||
|
|
||
|
<link rel='stylesheet' href='globalstylesheet.css'/>
|
||
|
</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>
|