HB/inscription_validation.php

118 lines
5.6 KiB
PHP

<HTML>
<HEAD>
<TITLE>Erreur !</TITLE>
<link rel="stylesheet" media="screen" name="design" href="pages/design/design.css">
<meta http-equiv=pragma content=no-cache >
<meta http-equiv=content-type content=text/html;charset=iso-8869-1 >
<link rel=shortcut icon type=image/x-icon href=favicon.ico >
</HEAD>
<BODY BGCOLOR=#0A2F59 LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<center>
<br>
<br>
<br>
<br>
<br>
<br>
<center>
<?php
//define('DESIGN', 'pages/design/design.css');
//define('TITLE', 'Space battleship');
//require('header.php');
?>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background-color: #0A2F59;">
<div style="text-align: center;">
<br>
<br>
<br>
<br>
<br>
<br>
<?php
require_once('connectBDD.php');
if (isset($_POST['code']) && $_POST['code'] == 'new staff' && isset($_POST['pseudo']) && isset($_POST['mail']) && isset($_POST['mdp2']) && isset($_POST['mdp']) && isset($_POST['race'])) {
$pseudo = $_POST['pseudo'];
$mail = addslashes($_POST['mail']);
$mdp = addslashes($_POST['mdp']);
$mdp2 = addslashes($_POST['mdp2']);
$race = addslashes($_POST['race']);
$code = addslashes($_POST['code']);
$erreurs = '<table style="width: 75%; margin-left: auto; margin-right: auto;">';
$inscriptOk = true;
// Diverses vérification pour savoir si tous les champs sont remplis et s'ils ont tous les données valides
if (addslashes(preg_replace('@[^a-zA-Z0-9_]@i', '', $pseudo)) != $pseudo || $pseudo == '') {
$inscriptOk = false;
$erreurs .= '<tr><td style="text-align: left;"><font color="#FF0000"><b>Le pseudo contient des caractères incorrects.</b><br>Les caractères autorisés sont les lettres minuscules ou majuscules de A à Z sans les accents, ainsi que les chiffres et les caractères . _</font></td></tr>';
}
else {
$result = mysql_query("SELECT pseudo FROM user WHERE pseudo='$pseudo'");
if(mysql_num_rows($result) >= 1) {
$inscriptOk = false;
$erreurs .= '<tr><td style="text-align: left;"><font color="#FF0000"><b>Le pseudo est déjà utilisé par un joueur.</b><br>Vous devez choisir un autre pseudo.</font></td></tr>';
}
}
if (!preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i', $mail) || $mail == '') {
$inscriptOk = false;
$erreurs .= '<tr><td style="text-align: left;"><font color="#FF0000"><b>L\'adresse électronique n\'est pas valide.</b><br>L\'adresse électronique que vous avez tappé est invalide ou contient des caractères interdits, recommencez.</font></td></tr>';
}
else {
$result = mysql_query("SELECT mail FROM user WHERE mail='$mail'");
if(mysql_num_rows($result) >= 1) {
$inscriptOk = false;
$erreurs .= '<tr><td style="text-align: left;"><font color="#FF0000"><b>L\'adresse électronique que vous avez indiqué est déjà associée à un compte.</b><br>Vous devez choisir une autre adresse électronique.</font></td></tr>';
}
}
if (ereg('hotmail',$mail) || ereg('msn',$mail)) {
$erreurs .= '<tr><td style="text-align: left;"><font color="#FFCC00"><b>Adresse MSN/Hotmail détectée</b><br>Nous avons remarqué un ralentissement de la réception des courriels d\'activation des comptes sur les adresses hotmail ou MSN. Nous vous recommandons d\'indiquez une adresse différente. Vous pouvez néanmoins l\'utiliser mais il faudra un certain temps avant de recevoir le courriel.</font></td></tr>';
}
if ($mdp == '' || $mdp != $mdp2) {
$inscriptOk = false;
$erreurs .= '<tr><td style="text-align: left;"><font color="#FF0000"><b>Mots de passe différents ou vides</b><br>Vous devez impérativement choisir un mot de passe pour sécuriser votre compte. Si vous avez spécifié un mot de passe, il se peut que vous n\'ayez pas indiqué le même mot de passe dans la case de confirmation.</font></td></tr>';
}
if ($race != 'covenant' && $race != 'humain') {
$inscriptOk = false;
$erreurs .= '<tr><td style="text-align: left;"><font color="#FF0000"><b>Aucune race choisie</b><br>Vous devez choisir la race que vuos désirez incarner dans le jeu.</font></td></tr>';
}
if ($inscriptOk != true) {
// Affichage des erreurs en cas d'impossibilité à procéder à l'inscription
print $erreurs.'</table>';
}
else {
$time = time();
$ip = $_SERVER["REMOTE_ADDR"];
// Activer la ligne suivante pour crypter les mots de passe dans la base de données
$mdp = sha1(strtoupper($pseudo).':'.$mdp); // Cryptage du mot de passe pour éviter le piratage de compte
$planete_trouvee = false;
while ($planete_trouvee != true) {
$galaxie = mt_rand(2,4);
$ss = mt_rand(1,150);
$pos = mt_rand(1,12);
// Test pour savoir si la planète est déjà habitée
$result = mysql_query("SELECT id FROM planete WHERE galaxie='$galaxie' AND ss='$ss' AND position='$pos'");
if(mysql_num_rows($result)>=1) $planete_trouvee = false;
else $planete_trouvee = true;
}
$image = mt_rand(1,12);
mysql_query("INSERT INTO user (`pseudo`, `race`, `mdp`, `mail`, `last_ip`, `time_inscription`, `last_visite`) VALUES ('$pseudo', '$race', '$mdp', '$mail', '$ip', '$time', '$time')") or die ("erreur sql ".mysql_error());
$req = mysql_query("SELECT id FROM user WHERE pseudo='$pseudo'");
$resultat = mysql_fetch_array($req);
$id_user = $resultat['id'];
$cases = mt_rand(150,250);
mysql_query("INSERT INTO planete (`id_user`, `nom_planete`, `galaxie`, `ss`, `position`, `image`, `cases`, `timestamp`, `metal`, `cristal`) VALUES ('$id_user', 'Planète mère', '$galaxie', '$ss', '$pos', '$image', '$cases', '$time', '1000', '700')") or die ("erreur sql ".mysql_error());
echo "<a href='index.php'><center><font color=red >Enregistrement OK<br><br>Cliquez ici pour vous loguer</font></center></a>";
}
}
else print '<font color="#FF0000"><b>Aucune donnée n\'a été tramise au serveur.</b></font>';
mysql_close();
?>
</div>
</body>
</html>