game/inscription_validation.php

110 lines
6.2 KiB
PHP
Raw Normal View History

2007-10-27 10:00:00 +00:00
<?php
require_once('connectBDD.php');
2007-11-04 11:00:00 +00:00
if (isset($_POST['code']) && isset($_POST['pseudo']) && isset($_POST['mail']) && isset($_POST['mdp2']) && isset($_POST['mdp']) && isset($_POST['race'])) {
2007-11-20 11:00:00 +00:00
$code = strtoupper(mysql_real_escape_string($_POST['code']));
2007-11-04 11:00:00 +00:00
$req = mysql_query("SELECT * FROM cds_beta WHERE `code` = '$code' AND `utilise` = '0'");
if(mysql_num_rows($req) >= 1) {
2007-11-20 11:00:00 +00:00
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$mail = mysql_real_escape_string($_POST['mail']);
$mdp = mysql_real_escape_string($_POST['mdp']);
$mdp2 = mysql_real_escape_string($_POST['mdp2']);
$race = mysql_real_escape_string($_POST['race']);
mysql_query("UPDATE `cds_beta` SET `user` = '$pseudo', `utilise` = '1' WHERE `code`='$code';") or die ("erreur sql ".mysql_error());
2007-10-27 10:00:00 +00:00
2007-11-04 11:00:00 +00:00
$erreurs = '<table style="width: 75%; margin-left: auto; margin-right: auto;">';
$inscriptOk = true;
}
else {
header('Location: inscription.php?err=1');
exit;
}
2007-10-27 10:00:00 +00:00
// Diverses v<>rification pour savoir si tous les champs sont remplis et s'ils ont tous les donn<6E>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<63>res incorrects.</b><br>Les caract<63>res autoris<69>s sont les lettres minuscules ou majuscules de A <20> Z sans les accents, ainsi que les chiffres et les caract<63>res . _</font></td></tr>';
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
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<EFBFBD> utilis<69> par un joueur.</b><br>Vous devez choisir un autre pseudo.</font></td></tr>';
}
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
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 <20>lectronique n\'est pas valide.</b><br>L\'adresse <20>lectronique que vous avez tapp<70> est invalide ou contient des caract<63>res interdits, recommencez.</font></td></tr>';
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
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 <20>lectronique que vous avez indiqu<71> est d<>j<EFBFBD> associ<63>e <20> un compte.</b><br>Vous devez choisir une autre adresse <20>lectronique.</font></td></tr>';
}
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
if (ereg('hotmail',$mail) || ereg('msn',$mail)) {
$erreurs .= '<tr><td style="text-align: left;"><font color="#FFCC00"><b>Adresse MSN/Hotmail d<>tect<63>e</b><br>Nous avons remarqu<71> 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<66>rente. Vous pouvez n<>anmoins l\'utiliser mais il faudra un certain temps avant de recevoir le courriel.</font></td></tr>';
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
if ($mdp == '' || $mdp != $mdp2) {
$inscriptOk = false;
$erreurs .= '<tr><td style="text-align: left;"><font color="#FF0000"><b>Mots de passe diff<66>rents ou vides</b><br>Vous devez imp<6D>rativement choisir un mot de passe pour s<>curiser votre compte. Si vous avez sp<73>cifi<66> un mot de passe, il se peut que vous n\'ayez pas indiqu<71> le m<>me mot de passe dans la case de confirmation.</font></td></tr>';
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
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>';
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
if ($inscriptOk != true) {
// Affichage des erreurs en cas d'impossibilit<69> <20> proc<6F>der <20> 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<6E>es
$mdp = sha1(strtoupper($pseudo).':'.$mdp); // Cryptage du mot de passe pour <20>viter le piratage de compte
$planete_trouvee = false;
while ($planete_trouvee != true) {
2007-11-04 11:00:00 +00:00
$galaxie = 1;
//$galaxie = mt_rand(2,4);
$ss = mt_rand(1,100);
2007-11-20 11:00:00 +00:00
$pos = mt_rand(1,12);
2007-10-27 10:00:00 +00:00
// Test pour savoir si la plan<61>te est d<>j<EFBFBD> habit<69>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;
2007-03-31 10:00:00 +00:00
}
2007-11-04 11:00:00 +00:00
$image = mt_rand(1,15);
2007-10-27 10:00:00 +00:00
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<61>te m<>re', '$galaxie', '$ss', '$pos', '$image', '$cases', '$time', '1000', '700')") or die ("erreur sql ".mysql_error());
2007-11-04 11:00:00 +00:00
include('template.php');
$template = new Template('./');
$template->set_filenames(array('index' => 'templates/index.tpl'));
$login = '<form name="login" method="post" action="verifLogin.php">
<table>
<tr>
<td class="cellulestxt">&#58;&#58;&nbsp;Pseudo&nbsp;&#58;&#58;&nbsp;</td><td><input type="text" class="champ" name="login" /></td></tr>
<tr><td class="cellulestxt">&#58;&#58;&nbsp;Mot&nbsp;de&nbsp;Passe&nbsp;&#58;&#58;&nbsp;</td><td><input type="password" class="champ" name="password" /></td></tr>
<tr><td align="center" colspan="2"><br />
<input class="connexion" type="submit" value="&rsaquo;&nbsp;Connexion&nbsp;&lsaquo;" /></td></tr></table>
</form>';
$texte = '<br /><br /><br /><font color="#00FF00"><b>Votre inscription a bien <20>t<EFBFBD> prise en compte.</b></font><br /><br />Vous pouvez d<>s maintenant utiliser le formulaire de connexion ci-contre pour acc<63>dez <20> la b<>ta de Halo-Battle.<br /><br />Bon jeu !';
$template->assign_vars(array('TITRE' => 'Inscription valid<69>e','TEXTE' => $texte,'LOGIN' => $login));
$template->pparse('index');
2007-03-31 10:00:00 +00:00
}
2007-10-27 10:00:00 +00:00
}
2007-11-04 11:00:00 +00:00
else {
header('Location: inscription.php?err=0');
exit;
}
2007-03-31 10:00:00 +00:00
mysql_close();
2007-11-04 11:00:00 +00:00
?>