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

Langage PHP Discussion :

Soucis pour récuperer mes variables ...


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut Soucis pour récuperer mes variables ...
    Bonjour,

    J'ai un formulaire d'inscription HTML, j'envoi les données de ce formulaire dans une autre page :
    Si le champ est rempli et exacte (c-à-d des lettes pour le nom, etc...), je l'insère dans ma base
    sinon je renvoi un message d'erreur, signalant le champ erroné.

    Voilà un bout de mon code (qui vérifie le login):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //PAGE 1
    <p><label>Login: </label>*<input type="text" name="login" id="login" class="box" /></p>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //PAGE 2
    if(isset($_POST['login']) == FALSE || verif_alpha(($_POST['login']))
    		echo "<li>Champ 'LOGIN' invalide</li>\n";
    Ceci devrait me renvoyer FALSE donc afficher le message d'erreur, si le champ n'est pas rempli, hors qu'il le soit ou pas, il ne m'affiche aucune erreur, c-à-d qu'il considère le champ comme rempli même s'il est vide.

    J'pense que c'est clairement un probleme de syntaxe, hors j'ai vraiment tout essayé et ça me fais toujours la même chose...

    est-ce que quelqu'un aurait la moindre idée de ce qui se passe ?

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, je pense que tu n'as bien saisi comment fonctionne la fonction isset ; ça n'est pas grave, tu peux aller sur ce site pour avoir plus de détails : http://fr.php.net/manual/fr/function.isset.php

    Bon développement ;-)

  3. #3
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut,

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['login']) && verif_alpha(($_POST['login']))

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Sinon, une idée que me vient comme ça (si si, ça arrive de temps en temps ), ta fonction verif_alpha est correcte :

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    Voilà ma fonction alpha:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function verif_alpha($chaine)
    { return (eregi("^[A-Za-z]+$", $chaine)); }
    Sinon, Nesmontou, tu me dis que j'ai mal saisi la fonction isset mais pourtant j'pense l'avoir comprise...
    En gros: isset renvoie TRUE si la variable mis en argument a une valeur, sinon elle renvoie FALSE... c'est pas ça ?


    En tout cas, gilmaire, ça marche avec ta ligne de code merci

  6. #6
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    J'ai relu ce que tu as posté,

    C'est une erreur de copier - coller ou il y a trois parenthèses ouvrantes pour quatre fermantes ?

  7. #7
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Ah oups, c'est ma faute, je me suis emballé entre les || et les &&... J'ai tout mélangé. Bon, on dira que c'est la fatigue :

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par gilmaire
    J'ai relu ce que tu as posté,

    C'est une erreur de copier - coller ou il y a trois parenthèses ouvrantes pour quatre fermantes ?
    Erreur de copie...

    J'suis desolé de prendre la tête avec ça mais là j'deviens ...

    J'ai le même souci avec cette partie là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['password']) && isset($_POST['password2']) && ($_POST['password'] == $_POST['password2']))
    		echo "<li>Mot de passe:".$_POST['password']."</li>\n";
    	else
    		echo "<li>Champ 'MOT DE PASSE' invalide</li>\n";
    pareil, ça ne reconnait pas quand les 2 champs sont vides ...

  9. #9
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Normal, tu teste l'égalité de deux variables dont tu n'es pas sur de l'existence

    tu dois utiliser deux if

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(isset($_POST['password']) && isset($_POST['password2']))
    {
      if($_POST['password'] == $_POST['password2']) 
      {
        echo "<li>Mot de passe:".$_POST['password']."</li>\n";
      }
    }
    else
    {
      echo "<li>Champ 'MOT DE PASSE' invalide</li>\n";
    }

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    Ouais, mais ça ne change rien, quand les deux champs sont vides ça m'affiche
    "Mot de passe: "

  11. #11
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Re, c'est normal que tu aies ce résultat si tes champs sont vides, la valeur (vide) a été postée ; pour vérifier que les champs sont vides ou non, il faut utiliser la fonction empty

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    empty ? bah j'la connaisais pas celle-là

    bon j'verrai ça demain, là faut que j'me repose

    merci encore.

  13. #13
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, bon après une bonne nuit de repos voilà ce que je peux te proposer
    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
    if(isset($_POST['password']) && isset($_POST['password2']))  // Test si les champs ont été postés
    {
      if(empty($_POST['password']) || empty($_POST['password2'])) // Test si un des 2 champs est vide
      {
        echo "<li>Les champs mot de passe ne doivent pas être vide</li>";
      }
      elseif($_POST['password'] != $_POST['password2']) // Test de l'égalité des champs
      {
        echo "<li>Il faut saisir quelque chose dans les champs</li>";
      }
      else
      {
        echo "<li>Mot de passe:".$_POST['password']."</li>\n"; 
      } 
    } 
    else 
    { 
      echo "<li>Les champs n'ont pas été postés</li>\n"; 
    }
    Bon développement ;-)

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    J'te remerci, j'ai bien avancé grâce à 'empty'

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/11/2014, 10h24
  2. Réponses: 1
    Dernier message: 05/11/2011, 21h36
  3. [MySQL] Pb pour récuperer une variable
    Par stark57 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/02/2011, 20h20
  4. souci pour vider mes caches
    Par -=mateo=- dans le forum Hibernate
    Réponses: 1
    Dernier message: 22/09/2010, 16h50
  5. [EJB3] Quelques soucis pour accéder à mes EJB
    Par nargzul dans le forum Java EE
    Réponses: 3
    Dernier message: 29/06/2009, 11h33

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