IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

verification d'une entree dans ma base


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Par défaut verification d'une entree dans ma base
    bonjour a tous

    c'est ma premiere visite a ce forum et j'espere trouver l'aide qu'il me faut
    voila mon probleme :
    je rentre un pseudo par l'intermediare d'un formulaire php et je veux le comparer a ce qui se trouve dans ma base j'ai essaye le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    try
            {
             $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
             $bdd = new PDO('mysql:host=localhost;dbname=ma base', 'root', '', $pdo_options);
     
             $req = $bdd->query("SELECT pseud from table_pseudo");
     
    	    while( $donnees = $req->fetch())
     
    {
    	  if ($_POST['pseudo']=$donnees['pseud'])
     
    	     {?>
    		  ..traitement
     
                                   echo 'pour voir ce qui se passe';
     
              <?php 
     
    		 } 
     
    	  else 
    	     { ?>
     
    	<a href = "http://localhost/...php">retour </a>
    <?php	     }
     
    	$req->closeCursor();
            }
    catch (Exception $e)
    {
            die('Erreur : ' . $e->getMessage());}
    }
    le probleme est que moi au depart ce que je veux c'est si le pseudo est dans la base il fait le traitement mais lui par exemple dans le cas d'echo il affiche le traitement un nombre de fois egal au contenu de la base et meme quant je rentre un pseudo qui n'yest pas il fait le traitement quant meme et ne va jamais au else

    rq:la boucle est necessaire a mon avis afin qu'il lise tout le contenu mais elle repete le if et else un nb de fois egal au contenu de la base que faire??

    ce que j'aimerai c'est que quelqun me mette sur la bonne piste comment verifier les donnes et passer au if sinon au else et cela une seule et une seule fois meme en lisant toutes les donnes de la base

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 80
    Par défaut
    Bonjour,

    en PHP, comme dans beaucoup d'autres langages, l'opérateur conditionnel d'égalité est == et non pas = qui est l'opérateur d'affectation.

    une condition basée sur une affectation est toujours vraie pour peu que la valeur affectée soit différente de 0, false ou null.

    Maintenant, voulez vous vraiment boucler sur tous les enregistrements ? Ne serait-il pas plus efficace, si il s'agit là d'une simple vérification d'existence d'un enregistrement en base de passer par une requete SQL avec une clause where qui va bien (comparaison du champ qui vous interresse avec la valeur passée dans votre post) ?

    Cdt.

  3. #3
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    pour commencer c'est == dans le if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	  if ($_POST['pseudo']==$donnees['pseud'])
    	         
    	     {?>
    		  ..traitement
     
                                   echo 'pour voir ce qui se passe';//la c'est du HTML pas du PHP donc ta ligne ne sera pas exécutée...
               
              <?php 
    		 
    		 }

  4. #4
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Par défaut
    deja premierement merci de votre aide et oui effectivement il fallait un == car ce n'est pas une affectation mais ca ne resoud pas pour autant le probleme car la il saute careement le bloc if et va directement au else

  5. #5
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    vérifies ta requête, le nom du champs est bien pseud dans ta table ou pseudo ?

  6. #6
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Par défaut
    c'est bon je pense avoir trouve ou est le probleme dans la condition if 'il y'avait une erreur dans le code html mais n'empeche le lien qui est present dans le else se repete a chaque fois que la boucle ne trouve pas le pseudo recherche donc je doit sortir le else de la boucle pour qu'il ne s'affiche qu'une seule fois dans le cas ou il ne trouve pas et mais je ne sait pas comment

  7. #7
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    normalement c'est ta requete que tu dois modifier, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*) AS total FROM table_pseudo WHERE pseud = $_POST['pseudo']
    et ta condition porte sur total si total > 0 else ...

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/06/2013, 10h31
  2. Comment effacer une entree dans la base de registre
    Par my_oliver dans le forum MFC
    Réponses: 3
    Dernier message: 16/12/2009, 16h45
  3. Lire une donnée dans la base de registre
    Par K.othmane dans le forum Langage
    Réponses: 1
    Dernier message: 06/01/2006, 11h32
  4. impossible d'insérer une date dans la base
    Par bobic dans le forum ASP
    Réponses: 3
    Dernier message: 03/10/2005, 11h29
  5. Oracle Designer: récupération d'une vue dans la base
    Par BILLYPATOU dans le forum Designer
    Réponses: 2
    Dernier message: 19/03/2004, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo