mon script ne passe pas aidez moi a trouver l'erreur - Logiciels - Windows & Software
Marsh Posté le 16-03-2012 à 17:20:00
Ton script ne "passe pas", c'est à dire ?
Marsh Posté le 19-03-2012 à 13:54:27
Cela reste toujours flou...
Pour te faire comprendre, il faudrait au minimum indiquer les noms de fichiers, utiliser la balise "code" fournie par le forum, et indiquer les messages d'erreurs complets.
Aussi, un exemple de ta base de données serait bien (des données d'exemples, par les vraies !)
Marsh Posté le 19-03-2012 à 15:15:54
Quel sont les erreurs ?
Marsh Posté le 16-03-2012 à 17:02:14
?php
session_start();
$BDD = mysql_connect("localhost","root","" );
mysql_select_db("database" );
?>
<?php
// On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
$error = FALSE;
$registerOK = FALSE;
// On regarde si l'utilisateur est bien passé par le module d'inscription
if(isset($_POST["formul2"])){
// On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
if($_POST["login"] == NULL OR $_POST["pass"] == NULL OR $_POST["pass2"] == NULL OR $_POST["datenaissance"] == NULL OR $_POST["nom"] == NULL OR $_POST["prenom"] == NULL OR $_POST["sexe"] == NULL OR $_POST["email"] == NULL OR $_POST["pseudo"] == NULL ) {
// On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
$error = TRUE;
// On écrit le message à afficher :
$errorMSG = "Tout les champs doivent être remplis !";
}
// Sinon, si les deux mots de passes correspondent :
elseif($_POST["pass"] == $_POST["pass2"]){
// On regarde si le mot de passe et le nom de compte n'est pas le même
if($_POST["login"] != $_POST["pass"]){
// Si c'est bon on regarde dans la base de donnée si le nom de compte est déjà utilisé :
$sql = "SELECT login FROM users WHERE login = '".$_POST["login"]."' ";
$sql = mysql_query($sql);
// On compte combien de valeur à pour nom de compte celui tapé par l'utilisateur.
$sql = mysql_num_rows($sql);
// Si $sql est égal à 0 (c'est-à-dire qu'il n'y a pas de nom de compte avec la valeur tapé par l'utilisateur
if($sql == 0){
// Si tout va bien on regarde si le mot de passe n'exède pas 60 caractères.
if(strlen($_POST["pass"] < 60)){
// Si tout va bien on regarde si le nom de compte n'exède pas 60 caractères.
if(strlen($_POST["login"] < 60)){
// Si le nom de compte et le mot de passe sont différent :
if($_POST["login"] != $_POST["pass"]){
//si le nom n'exede pas 60 caracteres
if(strlen($_POST["nom"] < 60)){
//si le prenom n'exede pas les 60 caracteres.
if(strlen($_POST["prenom"] < 60)){
//si le pseudo n'est pa deja utilisé:
$sql = "SELECT pseudo FROM users WHERE pseudo = '".$_POST["pseudo"]."' ";
$sql = mysql_query($sql);
// Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données :
$sql = "INSERT INTO users (login,pass) VALUES ('".$_POST["login"]."','".$_POST["pass"]."')";
$sql = mysql_query($sql);
// Si la requête s'est bien effectué :
if($sql){
// On met la variable $registerOK à TRUE pour que l'inscription soit finalisé
$registerOK = TRUE;
// On l'affiche un message pour le dire que l'inscription c'est bien déroulé :
$registerMSG = "Inscription réussie ! Vous êtes maintenant membre du site.";
// On le met des variables de session pour stocker le nom de compte et le mot de passe :
$_SESSION["login"] = $_POST["login"];
$_SESSION["pass"] = $_POST["pass"];
$_SESSION["pseudo"] = $_POST["pseudo"];
// Comme un utilisateur est différent, on crée des variables de sessions pour "varier" l'utilisateur comme ceci :
// echo $_SESSION["login"]; (bien entendu avec les balises PHP, sinons cela ne marchera pas.
}
// Sinon on l'affiche un message d'erreur (généralement pour vous quand vous testez vos scripts PHP)
else{
$error = TRUE;
$errorMSG = "Erreur dans la requête SQL<br/>".$sql."<br/>";
}
}
// Sinon on fais savoir à l'utilisateur qu'il a mis un nom de compte trop long.
else{
$error = TRUE;
$errorMSG = "Votre nom compte ne doit pas dépasser <strong>60 caractères</strong> !";
$login = NULL;
$pass = $_POST["pass"];
}
}
}
// Si le mot de passe dépasse 60 caractères on le fait savoir
else{
$error = TRUE;
$errorMSG = "Votre mot de passe ne doit pas dépasser <strong>60 caractères</strong> !";
$login = $_POST["login"];
$pass = NULL;
}
}
// Sinon on affiche un message d'erreur lui disant que ce nom de compte est déjà utilisé.
else{
$error = TRUE;
$errorMSG = "Le nom de compte <strong>".$_POST["login"]."</strong> est déjà utilisé !";
$login = NULL;
$pass = $_POST["pass"];
}
}
// Sinon on fais savoir à l'utilisateur qu'il doit changer le mot de passe ou le nom de compte
else{
$error = TRUE;
$errorMSG = "Le nom de compte et le mot de passe doivent êtres différents !";
}
}
// Sinon si les deux mots de passes sont différents :
elseif($_POST["pass"] != $_POST["pass2"]){
$error = TRUE;
$errorMSG = "Les deux mots de passes sont différents !";
$login = $_POST["login"];
$pass = NULL;
}
// Sinon si le nom de compte et le mot de passe ont la même valeur :
elseif($_POST["login"] == $_POST["pass"]){
$error = TRUE;
$errorMSG = "Le nom de compte et le mot de passe doivent être différents !";
}
// Si le nom dépasse 60 caractères on le fait savoir
else{
$error = TRUE;
$errorMSG = "Votre nom ne doit pas dépasser <strong>60 caractères</strong> !";
$nom = $_POST["nom"];
$pass = NULL;
}
// Si le prenom dépasse 60 caractères on le fait savoir
else{
$error = TRUE;
$errorMSG = "Votre prenom ne doit pas dépasser <strong>60 caractères</strong> !";
$prenom = $_POST["prenom"];
$pass = NULL;
}
// Sinon on affiche un message d'erreur lui disant que ce pseudo est déjà utilisé.
else{
$error = TRUE;
$errorMSG = "Ce pseudo <strong>".$_POST["pseudo"]."</strong> est déjà utilisé !";
$pseudo = NULL;
$pass = $_POST["pass"];
}
}
?>
<?php
mysql_close($BDD);
?>
<?php // On affiche les erreurs :
if($error == TRUE){ echo "<p align="center" style="color:red;">".$errorMSG."</p>"; }
?>
<?php // Si l'inscription s'est bien déroulée on affiche le succès :
if($formul2OK == TRUE){ echo "<p align="center" style="color:green;"><strong>".$formul2MSG."</strong></p>"; }
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta charset="utf-8" />
<!--link rel="stylesheet" href="stylnana.css" /-->
<title>FORMULAIRE D'INSCRIPTION</title>
</head>
<body bgcolor="crimson">
<header>
<div id="logo"><a href="#"> <img alt="Hypermedia Systems Ltd - Home" src="logo1.jpg"border="0" class="imagedropshadow" /></a></div>
<div class="social"><a href="#"><img src="images/picto_facebook.png" alt="Become a fan" width="24" height="24" border="0" class="imagedropshadow" /></a>
<a href="#"><img src="images/picto_twitter.png" alt="Follow on Twitter" width="24" height="24" border="0" class="imagedropshadow" /></a>
<a href="#"><img src="images/myspace.png" alt="Myspace" width="24" height="24" border="0" class="imagedropshadow" /></a>
<a href="#"><img src="images/digg.png" alt="Digg" width="24" height="24" border="0" class="imagedropshadow" /></a></div>
</header>
<p>
<h1 style="padding-left:350px; padding-right:250px"><u>*****FORMUMAIRE*****</u></h1></br>
<h3 style="padding-left:200px"><b>Bienvenus au site des supers n@n@ pour etre membres veuillez remplir ce formulaire ci dessous...</b></h3>
</p></br>;
<form method="post" action="user.php">
<section>
<div style="padding-left:250px; padding-right:250px">
<fieldset >
<h2><legend><b>VOS COORDONNEES</b></legend></h2>
PRENOM: <input type="text" name="prenom" value="" required/></br>
NOM: <input type="text" name="nom" value="" required/></br>
SEXE: <input type="radio" name="genre" value="mlle"> Feminin
<input type="radio" name="genre" value="mr"> Masculin</br>
DATE DE NAISSANCE:
<select name="birthday_day" id="birthday_day" class="" required>
<option value="-1">Jour:</option>
<option value="1">1</option><option value="2">2</option>
<option value="3">3</option><option value="4">4</option><option value="5">5</option>
<option value="6">6</option><option value="7">7</option><option value="8">8</option>
<option value="9">9</option><option value="10">10</option><option value="11">11</option>
<option value="12">12</option><option value="13">13</option><option value="14">14</option>
<option value="15">15</option><option value="16">16</option><option value="17">17</option>
<option value="18">18</option><option value="19">19</option><option value="20">20</option>
<option value="21">21</option><option value="22">22</option><option value="23">23</option>
<option value="24">24</option><option value="25">25</option><option value="26">26</option>
<option value="27">27</option><option value="28">28</option><option value="29">29</option>
<option value="30">30</option><option value="31">31</option></select>
<select name="birthday_month" id="birthday_month" required><option value="-1">Mois:</option>
<option value="1">janvier</option><option value="2">fevrier</option><option value="3">mars</option>
<option value="4">avril</option><option value="5">mai</option><option value="6">juin</option>
<option value="7">juillet</option><option value="8">aout</option><option value="9">septembre</option>
<option value="10">octobre</option><option value="11">novembre</option><option value="12">decembre</option></select></br>
ADRESSE E-MAIL: <input type="email" name="email" value="email" required/></br>
SAISIR MOT DE PASSE: <input type="password" name="password" id="pass1"required/></br>
REPETER MOT DE PASSE: <input type="password" name="password2" id="pass2" required/></br>
NUMERO DE TELEPHONE: <input type="tel" name="tel"/></br>
PSEUDO :<input type= "text" name="pseudo" id="pseudo" />
</fieldset>
<fieldset>
<h2><legend>Informations supplementaires</legend></h2>
<label for="pays">Dans quel pays habitez-vous ?</label><br />
<select name="pays" id="pays">
<optgroup label="Europe">
<option value="france">France</option>
<option value="espagne">Espagne</option>
<option value="italie">Italie</option>
<option value="royaume-uni">Royaume-Uni</option>
</optgroup>
<optgroup label="Amérique">
<option value="canada">Canada</option>
<option value="etats-unis">Etats-Unis</option>
</optgroup>
<optgroup label="Asie">
<option value="chine">Chine</option>
<option value="japon">Japon</option>
</optgroup>
<optgroup label="Afrique">
<option value="Cote d'ivoire">Cote d'ivoire</option>
<option value="Burkina faso">Burkina faso</option>
<option value="Mali">Mali</option>
<option value="Togo">Togo</option>
<option value="Senegal">Senegal</option>
<option value="Maroc">Maroc</option>
</optgroup>
</select> </br>
</fieldset>
</div>
</section>
</body>
</form>
</html>
---------------
chichi deii super nan