Disponibilité du pseudo PHP
Résolu/Fermé
shoub-tcy
Messages postés
169
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
23 mai 2012
-
10 mars 2012 à 22:51
shoub-tcy Messages postés 169 Date d'inscription mardi 6 mars 2012 Statut Membre Dernière intervention 23 mai 2012 - 11 mars 2012 à 00:18
shoub-tcy Messages postés 169 Date d'inscription mardi 6 mars 2012 Statut Membre Dernière intervention 23 mai 2012 - 11 mars 2012 à 00:18
A voir également:
- Disponibilité du pseudo PHP
- Pseudo facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Pseudo whatsapp - Accueil - Messagerie instantanée
- Changer pseudo instagram - Guide
- Idée pseudo youtube fille - Forum YouTube
3 réponses
Utilisateur anonyme
Modifié par Adenora le 10/03/2012 à 23:37
Modifié par Adenora le 10/03/2012 à 23:37
Bonsoir (ou re :D),
Si on reprend ce que tu avais déjà fait sur le sujet précédent, tu auras ça logiquement :
Je te laisse compléter la partie : Enregistrement du pseudo dans la base de données et tout ça en PDO, pas avec des mysql_query.
Il est tout à fait possible d'utiliser la syntaxe suivante pour la requête select :
comme l'a fait l3ajib.
Si on reprend ce que tu avais déjà fait sur le sujet précédent, tu auras ça logiquement :
<?php $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=sitesql', 'root', '', $pdo_options); if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])) { extract($_POST); $sql = "SELECT * FROM formulaire WHERE pseudo='".$pseudo."'"; $req = $bdd->query($sql); $req->setFetchMode(PDO::FETCH_OBJ); if ($ligne = $req->fetch()){ // Le pseudo existe déjà $erreur=3; include('page2.php'); exit; } else { // Enregistrement du pseudo dans la base de données } } else { // Manque le pseudo ou le mot de passe ou les deux $erreur=2; include('page2.php'); exit; } $req->closeCursor(); ?>
Je te laisse compléter la partie : Enregistrement du pseudo dans la base de données et tout ça en PDO, pas avec des mysql_query.
Il est tout à fait possible d'utiliser la syntaxe suivante pour la requête select :
$sql = "SELECT count(*) FROM formulaire WHERE pseudo='".$pseudo."'";
comme l'a fait l3ajib.
Bonsoir,
1)il y a des parenthèses en trop.
2)$dn n'est pas un résultat mais une ressource(avec un pointeur) qu'il faut traiter pour obtenir un résultat.
Vous seriez arrivé à cette conclusion en affichant avec print_r ou echo votre variable $dn.
Voici comment faire:
Si vous voulez compter le nombre de valeurs avec $pseudo il vous faut utiliser la fonction SQL count:
comme ceci:
$dn =(mysql_query('SELECT pseudo FROM formulaire WHERE pseudo="'.$pseudo.'"'));
1)il y a des parenthèses en trop.
$dn =mysql_query('SELECT pseudo FROM formulaire WHERE pseudo="'.$pseudo.'"');
2)$dn n'est pas un résultat mais une ressource(avec un pointeur) qu'il faut traiter pour obtenir un résultat.
Vous seriez arrivé à cette conclusion en affichant avec print_r ou echo votre variable $dn.
Voici comment faire:
$resultat=mysql_fetch_row($dn); print_r($resultat);/* vous montre le tableau de résultat. La variable $resultat vous renvoie un tableau de résultats. Il vous faudra ensuite tester si elle est vide*/ if( !empty($resultat['pseudo'])){ // le pseudo existe déjà }else{ // le pseudo n'existe pas }
Si vous voulez compter le nombre de valeurs avec $pseudo il vous faut utiliser la fonction SQL count:
comme ceci:
$requete=mysql_query("SELECT COUNT(*) FROM formulaire WHERE pseudo='".$pseudo."'"); // renvoi le nombre de lignes correspondant à la clause WHERE // traiter la ressource pour obtenir le résultat $resultat=mysql_fetch_row($requete); print_r($resultat); if($resultat[0]>0){ // pseudo existe }else{ // pseudo n'existe pas }
shoub-tcy
Messages postés
169
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
23 mai 2012
2
10 mars 2012 à 23:41
10 mars 2012 à 23:41
Bonsoir Outini, merci d'avoir répondue aussi vite.
J'ai fait tout ce que tu m'as conseillé mais malheureusement, quand je rentre un pseudo déja existant, il ne le prend pas en charge l'erreur, et continue comme si le pseudo n'existait pas.
J'ai fait tout ce que tu m'as conseillé mais malheureusement, quand je rentre un pseudo déja existant, il ne le prend pas en charge l'erreur, et continue comme si le pseudo n'existait pas.
l3ajib
Messages postés
178
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
12 mai 2012
87
10 mars 2012 à 23:09
10 mars 2012 à 23:09
Bonsoir;
Premièrement il faut se connecter sur la BDD, utilise la PDO de php
$dbh=new PDO('mysql:host=HostDelaBDD;dbname=NomDeLaBDD','UserDeLaBDD','');
Deuxièmement et pour la requête SELECT pseudo... ne complique pas les choses voici une façon de faire:
$c=0;
$sql="SELECT count(*) FROM formulaire WHERE pseudo='$pseudo'";
$c=(mysql_query($sql));
if ($c==0) // login inexistant
if ($c==1) // login existe déjà
Premièrement il faut se connecter sur la BDD, utilise la PDO de php
$dbh=new PDO('mysql:host=HostDelaBDD;dbname=NomDeLaBDD','UserDeLaBDD','');
Deuxièmement et pour la requête SELECT pseudo... ne complique pas les choses voici une façon de faire:
$c=0;
$sql="SELECT count(*) FROM formulaire WHERE pseudo='$pseudo'";
$c=(mysql_query($sql));
if ($c==0) // login inexistant
if ($c==1) // login existe déjà
shoub-tcy
Messages postés
169
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
23 mai 2012
2
10 mars 2012 à 23:42
10 mars 2012 à 23:42
Bonsoir l3ajib, merci d'avoir répondue aussi vite.
J'ai fait tout ce que tu m'as conseillé mais malheureusement, quand je rentre un pseudo déja existant, il ne le prend pas en charge l'erreur, et continue comme si le pseudo n'existait pas.
J'ai fait tout ce que tu m'as conseillé mais malheureusement, quand je rentre un pseudo déja existant, il ne le prend pas en charge l'erreur, et continue comme si le pseudo n'existait pas.
11 mars 2012 à 00:00
Le problème c'est que je suis sur un autre formulaire, le formulaire d'inscription ette fois ci, qui n'est pas sur la même page.
J'ai donc repris ton code à partir de : $sql = "SELECT * FROM formulaire WHERE pseudo='".$pseudo."'";
tout en ouvrant l'accès à la base de bonné juste avant, mais quand je rentre un pseudo déja présent dans ma base de donnée, la requete est quand même accepté, et fait comme si il n'y avait pas d'erreur.
Modifié par Adenora le 11/03/2012 à 00:07
11 mars 2012 à 00:18
Tes réponses sont efficaces de matin comme de nuit apparament^^
Peut être à bientot pour un nouveau problème ^^