JeuWeb - Crée ton jeu par navigateur
inscription - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : inscription (/showthread.php?tid=492)

Pages : 1 2


inscription - PetitMonstre - 26-11-2006

Encore moi !
Cette fois c'est bizard.
J'ai un formulaire d'inscription qui marchait super bien et qui marche plus.
J'ai du mettre une faute quelque part :
Code PHP :
<?

// Tout dabord le formulaire d'inscription

$form = '<form method="POST"inscription.php" ENCTYPE="multipart/form-data">
<font face="Verdana" size="2">
<div align="left">
<div align="left"><b><font face="Verdana">
<div align="center">Inscription</div>
</font></b></div>
<div align="center"><br>
<table width="400" border="0" height="84" align="center">
<tr>
<td valign="top" width="37%">
<div align="right"><font face="Verdana" size="2"><font size="1">Login
:</font></font></div>
</td>
<td valign="top" width="63%">
<div align="left"><font face="Verdana" size="2"><font size="1">
<input type="text" name="username" size="20" maxlength="70">
</font></font></div>
</td>
</tr>
<tr>
<td valign="top" width="37%">
<div align="right"><font face="Verdana" size="2"><font size="1">Mot
de passe : </font></font></div>
</td>
<td valign="top" width="63%">
<div align="left"><font face="Verdana" size="2"><font size="1">
<input type="password" name="password" size="20" maxlength="70">
</font></font></div>
</td>
</tr>
<tr>
<td valign="top" width="37%">
<div align="right"><font face="Verdana" size="2"><font size="1">Retapez
le mot de passe : </font></font></div>
</td>
<td valign="top" width="63%">
<div align="left"><font face="Verdana" size="2"><font size="1">
<input type="password" name="password_confirm" size="20" maxlength="70">
</font></font></div>
</td>
</tr>
<tr>
<td valign="top" width="37%">
<div align="right"><font face="Verdana" size="2"><font size="1">Email
: </font></font></div>
</td>
<td valign="top" width="63%">
<div align="left"><font face="Verdana" size="2"><font size="1">
<input type="text" name="email" size="20" maxlength="70">
</font></font></div>
</td>
</tr>
<tr>
<td width="37%" valign="top">
<div align="right"><font size="1" face="Verdana">Sexe :</font></div>
</td>
<td valign="top" width="63%">
<table width="240" border="0" align="center">
<tr>
<td width="115"><font size="1" face="Verdana">Homme:</font></td>
<td width="115"><font size="1" face="Verdana">Femme:</font></td>
</tr>
<tr>
<td>
<input type="radio" name="sexe" value="homme">
<br>
</td>
<td>
<div align="left">
<input type="radio" name="sexe" value="femme">
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="37%" valign="top">
<div align="right"><font face="Verdana" size="1">Race
:</font></div>
</td>
<td valign="top" width="63%">
<div align="left"><font face="Verdana" size="1">
<select name="avatar" size="1">
<option value="Boccys" selected>Boccys</option>
<option value="I-Droïd.s">I-Droïd.s</option>
<option value="Taodarians">Taodarians</option>
<option value="Humains">Humains</option>
<option value="Mystis">Mystis</option>
</select>
</font></div>
</td>
</tr>
<tr>
<td width="37%" valign="top">
<div align="right"><font face="Verdana" size="1"></font></div>
</td>
<td valign="top">
<div align="left"><font face="Verdana" size="1">Pour voir tous les
avatars <a href="avatar.php" target="_blank">cliquez ici.</a></font></div>
</td>
</tr>
</table>
<p align="center"><font face="Verdana" size="2"><font size="1">
<input type="submit" value="Envoyer" name="envoyer">
</font><font face="Verdana" size="2"><font size="1"></font></font></font></div>
</div></font><input name="cristal" type="hidden" value="250" />
<input name="acier" type="hidden" value="250" />
<input name="bacta" type="hidden" value="250" />
<input name="énergie" type="hidden" value="250" /></form>'
;

//La fonction suifante envoi un mail à vos joueurs contenant leur identifiants

mysql_connect("localhost","*****","*******") or die(mysql_error());
mysql_select_db("space_conquest") or die(mysql_error());

function
emailCorrect($email) {
$mail_valide = ereg("([A-Za-z0-9]|-|_|\.)*@([A-Za-z0-9]|-|_|\.)*\.([A-Za-z0-9]|-|_|\.)*",$email);

if (
$mail_valide) return 1;
else return
0;
}

if (isset(
$_POST["envoyer"])) {

$error = 0;
$errorlist = "<br>";

if(
$_POST['username'] == ""){$error++; $errorlist .= "Le pseudo est exigé.<br>";}

$rqt = mysql_query("SELECT * FROM inscription_users WHERE username='".$_POST['username']."'")or die(mysql_error());
$row = mysql_fetch_array($rqt);
if (
$row){$error++; $errorlist .= "Le pseudo est déjà pris!<br>";}

if(
$_POST['password'] == ""){$error++; $errorlist .= "Le pseudo est exigé.<br>";}

if(
strlen($_POST['password']) <4 ){$error++; $errorlist .= "Votre mot de passe doit comporter plus de <b>5</b> caractères.<br>";}

if(
$_POST['password'] != $_POST['password_confirm']){$error++; $errorlist .= "Vos mots de passe sont diffèrents.<br>";}

if(
$_POST['email'] == ""){$error++; $errorlist .= "L'adresse e-mail est exigée.<br>";}

if(!
emailCorrect($_POST['email'])){$error++; $errorlist .= "Veuillez entrer une adresse e-mail correcte.<br>";}

$rqt2 = mysql_query("SELECT * FROM inscription_users WHERE email='".$_POST['email']."'")or die(mysql_error());
$row2 = mysql_fetch_array($rqt2);
if (
$row2){$error++; $errorlist .= "L'adresse e-mail est déjà prise!<br>";}

if(
$error == 0){
$_SESSION['username'] = $_POST['username'];
mysql_query("INSERT INTO inscription_users
VALUES('',
'"
.$_POST['username']."',
'"
.$_POST['password']."',
'"
.$_POST['email']."',
'"
.$_POST['sexe']."',
'"
.$_POST['race']."'
'"
.$_POST['cristal']."',
'"
.$_POST['acier']."',
'"
.$_POST['bacta']."',
'"
.$_POST['énergie']."')")or die(mysql_error());

$destinataire = $_POST['email'];
$objet = 'Bienvenue sur Space Conquest';
$message = 'Bonjour,
Vous recevez ce mail suite à votre inscription sur Space conquest.
Si vous n\'êtes pas la personne qui a fait la demande d\'inscription, Ignorez ce mail.
-------------------------------------------------
Pseudo : '
.$_POST['username'].'
Mot de passe : '
.$_POST['password'].'
Adresse e-mail : '
.$_POST['email'].'
-------------------------------------------------
Nous vous remercions pour votre inscription, et espèrons être à la hauteur de vos espèrances.
Cordialement.
L\'équipe de http://space.conquest.free.fr'
;
mail($destinataire,$objet,$message,$from);

echo
'<META HTTP-EQUIV="Refresh" CONTENT="3; URL=index.php">Inscription reussi.<br>Un mail vous a été envoyé avec un récapitulatif de vos informations.<br><font size="1">Vous allez etre rediriger vers la page d\'acceuil...</font>';
}
else{
echo
'<font color="red">'.$errorlist.'</font><br>
<form>
<input type="button" value="&lt; Retour" onclick="history.go(-1)">
</form>'
;
}

}
else {
echo
$form;
}
mysql_close();
?>

Merci d'avance.


RE: inscription - Klemmth - 26-11-2006

Quelle est l'erreur qui s'affiche ?

ps : je me permets une petite critique : ton code est très désagréable à lire. Je sais pas si les indentations ont disparu lors du copier-coller, mais si ce n'est pas le cas, je te conseille fortement d'en mettre. De plus, pour des variables comme $error, je te conseille d'utiliser true et false plutot que 1 et 0.
De même :
Code PHP :
<?php 
if( $error == 0 )
Serait à mon avis plus lisible comme ça :
Code PHP :
<?php 
if( !$error )
De plus, pour tes conditions, il serait bien que tu sautes des lignes.
Ce qui donnerait :
Code PHP :
<?php 
if ($mail_valide)
return
1;
else
return
0;

et
Code PHP :
<?php 
if($_POST['username'] == "")
{
$error++;
$errorlist .= "Le pseudo est exigé.<br>";
}
ou
Code PHP :
<?php 
if($_POST['username'] == ""){
$error++;
$errorlist .= "Le pseudo est exigé.<br>";
}

Plutot que :
Code PHP :
<?php 
if ($mail_valide) return 1;
else return
0;

et
Code PHP :
<?php 
if($_POST['username'] == ""){$error++; $errorlist .= "Le pseudo est exigé.<br>";}

C'est plus sympa à lire non ? Wink

De même pour les <br>, essaye de les écrire <br />, ce seras toujours ça de pris quand tu essayeras de passer ton site aux normes w3c Wink


RE: inscription - PetitMonstre - 26-11-2006

Heu... peut être mais sa marchais avant et plus maintenant.
En fait il me met plus rien dans ma base de donnée et il me met plus les message d'erreurs ou de réussite


RE: inscription - Raoull - 26-11-2006

Slt,
je parcours rapidement ton code, et je vois aucune erreurs flagrantes...
Si aucune erreurs ne s'affichent sur la page, parfois il faut afficher le source code de lapage, pour voir des erreurs PHP qui ne sont pas voyant à l'écran.

Sinon, petite remarque au passage, dans ton formulaire, inutile de mettre des champs cachés genre (<input name="énergie" type="hidden" value="250" />) pour les récupérer plus bas. Mets directement 250 dans ta requete INSERT.


RE: inscription - PetitMonstre - 26-11-2006

Sous quelle forme?


RE: inscription - Klemmth - 26-11-2006

Je pense que ton erreur vient de là :
Code PHP :
<?php 
$form
= '<form method="POST"inscription.php" ENCTYPE="multipart/form-data">

Remplace par :
Code PHP :
<?php 
$form
= '<form method="POST" action="inscription.php" ENCTYPE="multipart/form-data">



RE: inscription - PetitMonstre - 26-11-2006

Apparament non toujours le mm bug


RE: inscription - Klemmth - 26-11-2006

Essaye comme ça
Code PHP :
<?php 
$form
= '<form method="POST" action="inscription.php">



RE: inscription - Raoull - 26-11-2006

alors dans ce cas, si tu ne vois pas où est l'erreur, il faut faire du debug pur et dur.
Met :
Code PHP :
<?php 
echo '<script>alert("blabla");</script>';
dans tous les endroits stratégique de ton code, c'est à dire après chaque IF, ELSE, etc.
Et au lieu de blabla, mets un texte qui permettent de situer l'endroit du code.
Ansi tu vas pouvoir suivre à la trace le cheminement du script, et voir s'il fait ce que tu en attends, et le cas échéant là où ca coince.


RE: inscription - Archange - 27-11-2006

Question bête :

Ta essayer de changer de navigateur ?

J'avais probleme pr me logguer avec mozilla pdt un moment peu etre que tu as un dans ce genre.