Besoin d'aide pour script php
paulo93700
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
paulo93700 Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
paulo93700 Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon problème est le suivant :
Je travaille sur deux page ;
Une page d’inscription (email nom mot de passe…)
Sur ma base de donné, email est désigné comme clé primaire
Quand une personne s’inscrit la deuxième page affiche sa suite de l’inscription ;
Mais si la personne s’inscrit avec une adresse déjà présente dans ma table de BDD
Je voudrais que sur la deuxième page il soi affiché …email déjà utiliser…
Mon script :
<?php //envoi des donnés du formulaire précédent dans la BDD
$email =($_POST['email']);
$mdp =($_POST['mdp']);
$nom =($_POST['nom']);
$type =($_POST['type']);
// conection a la base de donné
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
// on enregistre le message
mysql_query("INSERT INTO prospect VALUES('$email','$mdp','$nom','$type')");
//on ferme la BDD
mysql_close();
?>
<?php // si e-mail existe déja
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
$reponse = mysql_query("SELECT * FROM prospect");
while ($donnees = mysql_fetch_array($reponse))
if ($donnees['e-mail'] == $email) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
Pouvez-vous m’aider SVP sa me serait très utile par ce que je me creuse la tête mais sa marche pas
MERCI :)
Mon problème est le suivant :
Je travaille sur deux page ;
Une page d’inscription (email nom mot de passe…)
Sur ma base de donné, email est désigné comme clé primaire
Quand une personne s’inscrit la deuxième page affiche sa suite de l’inscription ;
Mais si la personne s’inscrit avec une adresse déjà présente dans ma table de BDD
Je voudrais que sur la deuxième page il soi affiché …email déjà utiliser…
Mon script :
<?php //envoi des donnés du formulaire précédent dans la BDD
$email =($_POST['email']);
$mdp =($_POST['mdp']);
$nom =($_POST['nom']);
$type =($_POST['type']);
// conection a la base de donné
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
// on enregistre le message
mysql_query("INSERT INTO prospect VALUES('$email','$mdp','$nom','$type')");
//on ferme la BDD
mysql_close();
?>
<?php // si e-mail existe déja
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
$reponse = mysql_query("SELECT * FROM prospect");
while ($donnees = mysql_fetch_array($reponse))
if ($donnees['e-mail'] == $email) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
Pouvez-vous m’aider SVP sa me serait très utile par ce que je me creuse la tête mais sa marche pas
MERCI :)
A voir également:
- Besoin d'aide pour script php
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Expert php pinterest - Télécharger - Langages
5 réponses
a mon avis tu devrait modifié ton deuxième script, avec ça ça devrait mieux marché.
<?php // si e-mail existe déjà
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
if (mysql_num_rows($reponse)) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
Au lieux de vérifié si il existe un email pareille dans la bdd tu regarde combien il en existe de pareille, et si il n'y en a au moins un tu dit que l'email est déjà utilisé.
<?php // si e-mail existe déjà
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
if (mysql_num_rows($reponse)) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
Au lieux de vérifié si il existe un email pareille dans la bdd tu regarde combien il en existe de pareille, et si il n'y en a au moins un tu dit que l'email est déjà utilisé.
Je te remercie Galoo ;
Mais il y a un souci apparemment :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Clic-un-club.com\envoi.php on line 43
suite de l'inscription
Sur la ligne:
if (mysql_num_rows($reponse))
Je ne voie pas vraiment le problème
(en même temps je suis qu’un débutant)
script:
<?php // si e-mail existe déjà
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
if (mysql_num_rows($reponse)) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
Merci d'avance pour vos réponse
Mais il y a un souci apparemment :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Clic-un-club.com\envoi.php on line 43
suite de l'inscription
Sur la ligne:
if (mysql_num_rows($reponse))
Je ne voie pas vraiment le problème
(en même temps je suis qu’un débutant)
script:
<?php // si e-mail existe déjà
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
if (mysql_num_rows($reponse)) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
Merci d'avance pour vos réponse
Bonsoir,
Il y a des grosses erreurs dans cette partie:
if (mysql_num_rows($reponse)) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
On ne met pas les commentaires entre la fonction et { !!!!
Ensuite qu'il y ait des résultats correpondants au mail ou pas mysql_num_rows sera toujours true (même égal à 0)
Alors essayes:
Il y a des grosses erreurs dans cette partie:
if (mysql_num_rows($reponse)) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
On ne met pas les commentaires entre la fonction et { !!!!
Ensuite qu'il y ait des résultats correpondants au mail ou pas mysql_num_rows sera toujours true (même égal à 0)
Alors essayes:
if (mysql_num_rows($reponse)>0){ //si il existe une email identique sur la BDD echo "email déjà utilisé"; } else{ // sinon (même remarque) echo "suite de l'inscription"; }
personnellement alain , le script que j'ai fournit en bas de page est en parfait état de fonctionnement, même tester ... j'avé un peu de temps devant moi ^^
Alors pour les commentaires entre les fonctions oui c'est pas propre mais sa marche, sa n'a rien à voir.
L'histoire du mysqlnumrow qui est toujours true c'est totallement faux ... si tu cale un mysqlfetchassoc entre deux.
voilà ... bref ... et pour une tel réponse t'aurai pu répondre à la suite du topic comme moi je l'ai fais ^^ au lieu de casser l'ordre des réponses :P
Alors pour les commentaires entre les fonctions oui c'est pas propre mais sa marche, sa n'a rien à voir.
L'histoire du mysqlnumrow qui est toujours true c'est totallement faux ... si tu cale un mysqlfetchassoc entre deux.
voilà ... bref ... et pour une tel réponse t'aurai pu répondre à la suite du topic comme moi je l'ai fais ^^ au lieu de casser l'ordre des réponses :P
ton problème est simple paulo, tu ne peux pas mettre directement mysqlnumrow sur une variable utilisant mysqlquery ... par exemple tu fais passer ta variable $reponse dans un mysql_fetch_assoc puis tu le stocke dans une autre variable.
Tien voilà à quoi devrai ressembler ton script ...
<?php // si e-mail existe déjà
//ID SQL//
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
//Fin//
//Requete//
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
$reponse_assoc = mysql_fetch_assoc($reponse);
//Fin//
if ($reponse_assoc) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
voilà je pense que sa devrait marcher ;)
Tien voilà à quoi devrai ressembler ton script ...
<?php // si e-mail existe déjà
//ID SQL//
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
//Fin//
//Requete//
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
$reponse_assoc = mysql_fetch_assoc($reponse);
//Fin//
if ($reponse_assoc) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
voilà je pense que sa devrait marcher ;)
ton problème est simple paulo, tu ne peux pas mettre directement mysqlnumrow sur une variable utilisant mysqlquery
En es tu certain ??
En es tu certain ??
Extrait du site www.php.net Example#1 Exemple avec mysql_num_rows() <?php $link = mysql_connect("localhost", "mysql_user", "mysql_password"); mysql_select_db("database", $link); $result = mysql_query("SELECT * FROM table1", $link); $num_rows = mysql_num_rows($result); echo "$num_rows Rows\n"; ?>
Ree ;
J’ai testé toute les solutions que vous m’avait données et encor merci pour vos réponses
La solution du commentaire numéro 3 : par cwadmin,
Elle a un problème au niveau de la ligne :
<?php // si e-mail existe déjà
//ID SQL//
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
//Fin//
//Requete//
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
$reponse1 = mysql_fetch_assoc($reponse);
//Fin//
if ($reponse1) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
SA me die:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Clic-un-club.com\envoi.php on line 47
suite de l'inscription
Pouvez vous m’éclairé SVP?
Merci beaucoup .
J’ai testé toute les solutions que vous m’avait données et encor merci pour vos réponses
La solution du commentaire numéro 3 : par cwadmin,
Elle a un problème au niveau de la ligne :
<?php // si e-mail existe déjà
//ID SQL//
mysql_connect("localhost", "root", "");
mysql_select_db("clic-un-club");
//Fin//
//Requete//
$reponse = mysql_query("SELECT * FROM prospect where e-mail='".$email."'");
$reponse1 = mysql_fetch_assoc($reponse);
//Fin//
if ($reponse1) //si il existe une email identique sur la BDD
{
echo "email déjà utiliser";
}
else // sinon
{
echo "suite de l'inscription";
}
// Déconnexion de MySQL
mysql_close();
?>
SA me die:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Clic-un-club.com\envoi.php on line 47
suite de l'inscription
Pouvez vous m’éclairé SVP?
Merci beaucoup .
Bonjour,
Dans ton premier post tu mets:
Une page d’inscription (email nom mot de passe…)
Sur ma base de donné, email est désigné comme clé primaire
Donc j'en déduit que le nom de ton champ email dans ta table est email, et dans ta requette tu mets e-mail=
ça ne peut pas fonctionner et comme tu n'as pas mis de trace d'erreur tu ne t'en rend compte que pour la commande suivante.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource Veut dire que la resource $reponse n'est pas valide a cause du pb ci dessus.
S'il te plait essayes au moins cette solution:
Dans ton premier post tu mets:
Une page d’inscription (email nom mot de passe…)
Sur ma base de donné, email est désigné comme clé primaire
Donc j'en déduit que le nom de ton champ email dans ta table est email, et dans ta requette tu mets e-mail=
ça ne peut pas fonctionner et comme tu n'as pas mis de trace d'erreur tu ne t'en rend compte que pour la commande suivante.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource Veut dire que la resource $reponse n'est pas valide a cause du pb ci dessus.
S'il te plait essayes au moins cette solution:
<?php //recupération de la valeur postée $email=$_POST['email']; // si le champ correspondant de ton formulaire est bien email sinon modifies // connexion à la base mysql_connect("localhost", "root", "") or die ("Pb connexion au serveur Mysql ".mysql_error()); mysql_select_db("clic-un-club") or die ("Pb selection base Mysql ".mysql_error()); //Requete $req="SELECT * FROM prospect WHERE email='".$email."'"; $reponse = mysql_query($req) or die ("Pb de requette ".mysql_error()); // Déconnexion de MySQL // oui on peut déja se deconnecter de mysql mysql_close(); //les résultats de la requette sont stockés en mémoire dans une zone spécifique, on y accéde pour des commdes mysql_...., c'est un peu comme un array // comme mysql_num_rows() =nbr de resultats mysql_field_name ()=noms des champs mysql_fetch_array() = sort chaque ligne sous forme d'un array et déplace le pointeur sur la ligne suivante //pour t'en conforter vas voir le site: https://www.php.net/manual/fr/ref.mysql.php // test si e-mail existe déjà //ce qui nous interresse c'est de savoir si on a en a trouvé un //et je persiste et signe on peut tout a fait faire mysql_num_rows () juste après mysql_query() if(mysql_num_rows($reponse)>0){ //si il existe une email identique sur la BDD echo "email déjà utilisé"; }else{ // sinon echo "suite de l'inscription"; } ?>
oui le problème si situe au niveau de la variable $email (c'est pas mon script) ... ce qui crée une erreur dans ta requête ... donc pour résumer ...
-vérifie si ta requête sql est correcte (bonne table, bon sa sa doit être bon ; les champs de ta table par exemple ici : e-mail)
-vérifie si tu n'a pas oublié de mettre la variable $email avant le script ... même affiche le (echo) pour être sur qu'il récupère correctement les data via le post.
Au pire si sa marche pas avec mon bout de script ce que je doute, essaye celui d'alain ... il à l'air d'avoir pris le temps de te pondre un script complet avec les débuggeur sql en die.
-vérifie si ta requête sql est correcte (bonne table, bon sa sa doit être bon ; les champs de ta table par exemple ici : e-mail)
-vérifie si tu n'a pas oublié de mettre la variable $email avant le script ... même affiche le (echo) pour être sur qu'il récupère correctement les data via le post.
Au pire si sa marche pas avec mon bout de script ce que je doute, essaye celui d'alain ... il à l'air d'avoir pris le temps de te pondre un script complet avec les débuggeur sql en die.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai réussi !!! MERCI A VOUS !!!
<?php
//recupération de la valeur postée
$email =($_POST['email']);
$mdp =($_POST['mdp']);
$nom =($_POST['nom']);
$type =($_POST['type']);
// connexion à la base
mysql_connect("localhost", "root", "") or die ("Pb connexion au serveur Mysql ".mysql_error());
mysql_select_db("clic-un-club") or die ("Pb selection base Mysql ".mysql_error());
//Requete
$req="SELECT * FROM prospect WHERE email='".$email."'";
$reponse = mysql_query($req) or die ("Pb de requette ".mysql_error());
// Déconnexion de MySQL // oui on peut déja se deconnecter de mysql
mysql_close();
if(mysql_num_rows($reponse)>0){ //si il existe une email identique sur la BDD
echo "email déjà utilisé";
}
else{ // sinon
echo
"Validation de votre inscription </p>
Email:$email
</p>
Mot de Passe:$mdp
</p>
Nom du contact:$nom
</p>
Type de structure:$type"
;
}
?>
J'ai réussi !!! MERCI A VOUS !!!
<?php
//recupération de la valeur postée
$email =($_POST['email']);
$mdp =($_POST['mdp']);
$nom =($_POST['nom']);
$type =($_POST['type']);
// connexion à la base
mysql_connect("localhost", "root", "") or die ("Pb connexion au serveur Mysql ".mysql_error());
mysql_select_db("clic-un-club") or die ("Pb selection base Mysql ".mysql_error());
//Requete
$req="SELECT * FROM prospect WHERE email='".$email."'";
$reponse = mysql_query($req) or die ("Pb de requette ".mysql_error());
// Déconnexion de MySQL // oui on peut déja se deconnecter de mysql
mysql_close();
if(mysql_num_rows($reponse)>0){ //si il existe une email identique sur la BDD
echo "email déjà utilisé";
}
else{ // sinon
echo
"Validation de votre inscription </p>
Email:$email
</p>
Mot de Passe:$mdp
</p>
Nom du contact:$nom
</p>
Type de structure:$type"
;
}
?>
J'ai réussi !!! MERCI A VOUS !!!