Page inscription

Fermé
jypy - 25 févr. 2009 à 10:27
lemega Messages postés 85 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 31 mai 2023 - 25 févr. 2009 à 17:49
Bonjour a tous,je viens de faire une page d'inscription et son execution me cause d'enorme probleme.
voici le code:
<?php
// on teste si le visiteur a soumis le formulaire
if ((isset($_POST['enregistrer']) && $_POST['enregistrer'] == 'Enregistrer'))
{
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['nom']) && !empty($_POST['nom'])) &&
(isset($_POST['prenom']) && !empty($_POST['prenom'])) &&
(isset($_POST['lieu_tavail']) && !empty($_POST['lieu_travail'])) &&
(isset($_POST['fonction']) && !empty($_POST['fonction'])) &&
(isset($_POST['phone_fixe']) && !empty($_POST['phone_fixe'])) &&
(isset($_POST['phone_mobile']) && !empty($_POST['phone_mobile'])) &&
(isset($_POST['adres_resid']) && !empty($_POST['adres_resid'])) &&
(isset($_POST['pays']) && !empty($_POST['pays'])) &&
(isset($_POST['ville']) && !empty($_POST['ville'])) &&
(isset($_POST['mdp']) && !empty($_POST['mdp'])) &&
(isset($_POST['mdp2']) && !empty($_POST['mdp2'])))
{
// on teste les deux mots de passe
if ($_POST['mdp'] != $_POST['mdp2']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {

$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('rsi', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM mbre(phone_mobile) WHERE phone_mobile="'.mysql_escape_string($_POST['phone_mobile']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO mbre(nom, prenom, lieu_travail, fonction, phone_fixe, phone_mobile, adres_resid, pays, ville, mdp)
VALUES("", "'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['lieu_travail']).'",
"'.mysql_escape_string($_POST['fonction']).'",
"'.mysql_escape_string($_POST['phone_fixe']).'",
"'.mysql_escape_string($_POST['phone_mobile']).'",
"'.mysql_escape_string($_POST['adres_resid']).'",
"'.mysql_escape_string($_POST['pays']).'",
"'.mysql_escape_string($_POST['ville']).'",
"'.md5(mysql_escape_string($_POST['mdp'])).'",
)';
$result=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
echo'vous êtes enregistrés en tant que employé au poste' .$_POST['fonction'].' a R.S.I.<br>
cliquez <a href="index.html"> ICI pour l\'ouverture du programme</a>';
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Enregistrement</title>
</head>
<body>
Enregistrement du personnel RSI :<br />
<form action="enregistrement.php" method="post">
Nom : <input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo
htmlentities(trim($_POST['nom'])); ?>"><br />
Prenom : <input type="text" name="prenom" value="<?php if (isset($_POST['prenom'])) echo
htmlentities(trim($_POST['prenom'])); ?>"><br />
Lieu de Travail : <input type="text" name="lieu_travail" value="<?php if (isset($_POST['lieu_travail'])) echo
htmlentities(trim($_POST['lieu_travail'])); ?>"><br />
Fonction : <input type="text" name="fonction" value="<?php if (isset($_POST['fonction'])) echo
htmlentities(trim($_POST['fonction'])); ?>"><br />
Téléphone fixe : <input type="text" name="phone_fixe" value="<?php if (isset($_POST['phone_fixe'])) echo
htmlentities(trim($_POST['phone_fixe'])); ?>"><br />
Téléphone Mobile : <input type="text" name="phone_mobile" value="<?php if (isset($_POST['phone_mobile'])) echo
htmlentities(trim($_POST['phone_mobile'])); ?>"><br />
Adresse(Lieu de rédence) : <input type="text" name="adres_resid" value="<?php if (isset($_POST['adres_resid'])) echo
htmlentities(trim($_POST['adres_resid'])); ?>"><br />
Pays : <input type="text" name="pays" value="<?php if (isset($_POST['pays'])) echo
htmlentities(trim($_POST['pays'])); ?>"><br />
Ville : <input type="text" name="ville" value="<?php if (isset($_POST['ville'])) echo
htmlentities(trim($_POST['ville'])); ?>"><br />
mot de passe : <input type="password" name="mdp" value="<?php if (isset($_POST['mdp'])) echo
htmlentities(trim($_POST['mdp'])); ?>"><br />
Confirme Mot de passe : <input type="password" name="mdp2" value="<?php if (isset($_POST['mdp2'])) echo
htmlentities(trim($_POST['mdp2'])); ?>"><br />

<input type="submit" name="enregistrer" value="Enregistrer">
</form>
<a href="index.html">««Retour</a><br>

<span style="background-color:#FF9966">
<?php
if (isset($erreur)) echo 'ERREUR:',$erreur;
?>
</span>
</body>
</html>
*******************************************************************************
********************************************************************************
le pblem est qu'a l'exécution l'erreur en gras c'est a dire s'affiche même si je fais exprès de mettre 2 mots de passe différents c'est la même erreur qui s'affiche
alors aider moi a trouver la solution de ce probleme
merci
A voir également:

4 réponses

Je n'ai pas lu ton code entièrement. Mais le problème est simple.

J'ai déjà eu ce genre de problème et il viens toujours de la façon dont sont imbriqués les "if"

As-tu remplis tous les champs quand tu fais ton test avec des mots de passe différents? Si non alors c'est normal, la condition de remplissage des champs passe avant celle de test des mots de passe.

Bon courage, il faut relire tout le code et vérifier tous les if.


___________________________________________________________________________________________
Il vaut mieux mobiliser son intelligence sur de conneries que mobiliser sa connerie sur des choses intelligentes...
0
merci pour ta reponse.pour ta question,oui j'ai bien rempli les champs avec les mots de passe differents.
et meme quand les mots de passe sont les mems l'erreur s'affiche.
0
Solution.....

Dans ton code PHP, regarde bien ta condition...

tu as ecrit:

(isset($_POST['nom']) && !empty($_POST['nom'])) && 
(isset($_POST['prenom']) && !empty($_POST['prenom'])) && 
(isset($_POST['lieu_tavail']) && !empty($_POST['lieu_travail'])) && 
(isset($_POST['fonction']) && !empty($_POST['fonction'])) && 
(isset($_POST['phone_fixe']) && !empty($_POST['phone_fixe'])) && 
(isset($_POST['phone_mobile']) && !empty($_POST['phone_mobile'])) && 
(isset($_POST['adres_resid']) && !empty($_POST['adres_resid'])) && 
(isset($_POST['pays']) && !empty($_POST['pays'])) && 
(isset($_POST['ville']) && !empty($_POST['ville'])) && 
(isset($_POST['mdp']) && !empty($_POST['mdp'])) && 
(isset($_POST['mdp2']) && !empty($_POST['mdp2'])))


attention au lieu de $_POST['lieu_tavail'] tu aurais du écrire $_POST['lieu_travail'] Il manque un "r", du coup comme il ne trouve pas de valeur $_POST['lieu_tavail'] il considère qu'il manque un champ...

++
0
lemega Messages postés 85 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 31 mai 2023 7
25 févr. 2009 à 17:49
merci bien pour ton coup d'oeil
c'est regle
0