Alors voilà le soucis : je voudrai faire une page d’inscription avec un formulaire. Seulement je veux aussi que si la personne rentre un mail déja présent dans la base, un message s’affiche pour lui dire que le mail existe déja.
Le problème dans ce script, c’est que le message d’erreur est affiché à tout les coups (même quand aucune entrée de la base ne correspond au mail tapé dans le formulaire).
Ma base de donnée est ainsi :
[code]<?php require_once('Connections/groupe4.php'); ?>
<?php session_start(); //---------------------------------- if ($HTTP_POST_VARS['inscription']=="ok") { //début du if, teste si le mail existe mysql_select_db($database_groupe4, $groupe4); // vérifie si le mail existe déja dans la base $FORMemail=trim($FORMemail); //trim() pour supprimer les espaces $query_rsClient="SELECT email FROM client WHERE email='$FORMemail'"; $rsClient=mysql_query($query_rsClient, $groupe4); $totalRows_rsClient=mysql_num_rows($rsClient);[/code] if ($HTTP_POST_VARS['inscription']=="ok") ça c'est un champ masqué du formulaire avec comme valeur "ok" $FORMemail correspond à un "champ de texte" FORMemail du formulaire et qui transmet le mail. [code]//si le mail n'existe pas insertion dans la table client if ($totalRows_rsClient==0) { // début du if // enregistrment du nouveau client $insertSQL="INSERT INTO client (nom, prenom, adresseFacturation, VilleFacturation, CPFacturation, telephone, email, motdepasse) VALUES ('$nom', '$prenom', '$adresse', '$ville', '$cp', '$tel', '$FORMemail', '$FORMpass')"; $Result1=mysql_query($insertSQL, $groupe4); $clientID=mysql_insert_id();[/code] Cela vérifie qu'il y a bien 0 dans la variable totalRows_rsClient et insère les données dans la table. Les valeurs correspondent aux cases du formulaire. [code]//memorisation dans la session $statut="client"; session_register("clientID"); session_register("statut"); header("Location:commande.php"); } // fin du if ($totalRows_rsclient==0) // si le mail existe deja création du message d'erreur else { // debut du else $erreur_mail=1; } //fin du else } // fin du if ?>[/code]Enfin, le script enregistre les valeurs utilent pour après (statut client) et emmene la personne sur la page commande.php.
Si le mail existe déja, il affiche le message d’erreur (ce qu’il fait à tout les coups malheureseusement).
Enfin, je précise que ce script est tiré du livre PHP/MySQL avec Dreamweaver MX de Jean-Marie deFrance.
D’avance merci beaucoup pour les débuts de réponse que vous pourrez m’apporter.