1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| <?php
if (isset($_POST['name'], $_POST['email'], $_POST['mdp']), $_POST['mdp2']) && ($CONFIG['inscription'] == 1))
{
$tpl->assign('envoie_form', '1');
// plusieurs saisies peuvent être en erreur
$errors = array();
// PHP fait nativement la validation des emails
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false)
{
$errors[] = 2; // email invalide
}
$len = strlen(trim($_POST['name']));
if (($len < 5) || ($len > 21))
{
$errors[] = 3; // nom entre 6 et 20 caractères :: ça fait pas beaucoup ! (rectifie)
}
$len = strlen(trim($_POST['mdp2']));
if (($len < 5) || ($len > 66))
{
$errors[] = 4; // mot de passe entre 6 et 65 caractères la colonne password_decrypt est en varchar (65)
}
$len = strlen(trim($_POST['mdp'])); //desactive la limite de caractere (enfin je pense) la colonne password est en varchar (65)
// if (($len < 5) || ($len > 11))
// {
// $errors[] = 5; // mot de passe entre 6 et 10 caractères :: limite totalement inutile
// }
// on continue que s'il n'y pas d'erreurs
if (empty($errors))
{
mysql_select_db('account_login');
// unicité du pseudo
$sql = "SELECT COUNT(*) AS nb_rec FROM `account_player` WHERE name='".mysql_real_escape_string(utf8_encode($_POST['name']))."'";
$qry = mysql_query($sql);
$nb = mysql_result($qry, 0);
if ($nb)
{
$errors[] = 5; // pseudo déjà utilisé
}
else
{
// création du compte
$sql = "INSERT INTO `account_data` (name, password_decrypt, password, email) VALUES ("
. "'".mysql_real_escape_string(utf8_encode($_POST['name']))."'"
. "'".mysql_real_escape_string(utf8_encode($_POST['mdp2']))."'"
. "'".mysql_real_escape_string(base64_encode(pack('H*', sha1(utf8_encode($_POST['mdp'])))))."'"
. "'".mysql_real_escape_string(utf8_encode($_POST['email']))."')";
mysql_query($sql) or die (mysql_error());
}
}
if($errors == '') //l'inscription a fonctione
{ $tpl->assign('valid_form', '1'); }
else //sinon chargement des erreurs
{ $tpl->assign('valid_form', $errors); }
}
else
{
$tpl->assign('envoie_form', '0');
if($CONFIG['inscription'] == 0) {$tpl->assign('conf_inscription', '0');} //inscription desactive
else {$tpl->assign('conf_inscription', '1');} //inscription active
}
$tpl -> parse('public/inscription.tpl');
?> |
Partager