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 :

problème de vérification


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Par défaut problème de vérification
    bonjour tout le monde,

    je suis actuellement en train de développer un site web. je dois gérer une connexion administrateur. le code correspondant à cette page est:
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <?php
    // Definition des constantes et variables
    define('LOGIN','admin');
    define('PASSWORD','admin');
     
    $errorMessage = '';
     
    // Test de l'envoi du formulaire
    if(!empty($_POST)){
    	// Les identifiants sont transmis ?
    	if(!empty($_POST['login']) && !empty($_POST['password'])){
    		// Sont-ils les mêmes que les constantes ?
    			if($_POST['login'] !== LOGIN){
    				$errorMessage = 'Mauvais login !';
    			}
    			elseif($_POST['password'] !== PASSWORD){
    				$errorMessage = 'Mauvais password !';
    			}
    			else{
    				// On ouvre la session
    				session_start();
    				// On enregistre le login en session
    				$_SESSION['login'] = LOGIN;
    				// On redirige vers le fichier admin.php
    				header('Location: http://mathieufere.fr/cakephp/admin/manageProduct');
    				exit();
    			}
    	}
    	else{
    		$errorMessage = 'Veuillez inscrire vos identifiants svp !';
    	}
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    <title>Formulaire d'authentification</title>
    </head>
    <body>
    <form action="./admin/manageProduct" method="post">
    <fieldset>
    <legend>Identifiez-vous</legend>
    <?php
    if(!empty($errorMessage))
    {
    echo '<p>', htmlspecialchars($errorMessage) ,'</p>';
    }
    ?>
           <p>
    <label for="login">Login :</label>
    <input type="text" name="login" id="login" value="" />
    </p>
    <p>
    <label for="password">Password :</label>
    <input type="password" name="password" id="password" value="" />
    <input type="submit" name="submit" value="Se logguer" />
    </p>
    </fieldset>
    </form>
    </body>
    </html>
    voici mon problème; peut importe le login et le password que je tape, je suis toujours connecté. quelqu'un pourrait-il m'aider a fixer ce probleme?

  2. #2
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    Bonjour,

    Comment gère tu la connexion dans le temps d'un utilisateur ?

    J'entends par la ce que tu fait pour décider si l'utilisateur à accès à la page ?

    Si tu utilise le fait que la variable $_SESSION['login'] doit être renseigné dans ce cas tu doit simplement détruire la session pour déconnecter l'utilisateur.

  3. #3
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    Juste une remarque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($_POST['login'] !== LOGIN){
    	$errorMessage = 'Mauvais login !';
    }
    Je sais pas ce que ça fait, parce que l'opérateur !== n'éxiste pas, pour la différence c'est!=. Je sais pas si ça joue mais on sait jamais (idem pour $_POST['password'] d'ailleurs).

  4. #4
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    Tu est sûr qu'en PHP l'opérateur !== n'existe pas ?

    • = : affectation
    • == : comparaison de valeur
    • === : comparaison de valeur et de type


    Edit : Si l'opérateur existe, tu m'as fait douter de ma mémoire
    Code php : 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
    <?php
    $var1 = "1";
    $var2 = 1;
    $var3 = "1";
     
    if($var1 == $var2)
        echo "ok";
    else
        echo "pas ok";
     
    echo '<br />';
     
    if($var1 === $var2)
        echo "ok";
    else
        echo "pas ok";
     
    echo '<br />';
     
    if($var1 === $var3)
        echo "ok";
    else
        echo "pas ok";
    ?>
    En exécutant ce code on obtient :
    ok
    pas ok
    ok

  5. #5
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    Oui, mais là t'as pas prouvé que !== existe
    Tu peux remplacer ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_POST['login'] !== LOGIN
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !($_POST['login'] == LOGIN)
    et là tu seras sur que c'est correcte.
    Enfin après c'est juste mon avis personnel, voyant aujourd'hui pour la première fois dans ma vie de (très) jeune développeur l'opérateur !==

    Et je rajoute comme témoin ce à quoi on aurai dû se référer directement : http://php.net/manual/fr/language.operators.php

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Mais bien sûr que si l'opérateur !== existe !

    Tu cites http://php.net/manual/fr/language.operators.php, mais pourquoi ne cliques-tu pas au bon endroit : http://www.php.net/manual/fr/languag...comparison.php et tu verras très clairement que tu as tort !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 419
    Par défaut
    Citation Envoyé par Doopeijii Voir le message
    ... parce que l'opérateur !== n'éxiste pas ... voyant aujourd'hui pour la première fois dans ma vie de (très) jeune développeur l'opérateur !==
    Pour passer de "très jeune développeur" à "jeune développeur" une étape à franchir est d'éviter de penser à priori que ce que l'on ne connait pas, n'existe pas. Te voilà donc maintenant "jeune développeur". Tu verras aussi avec l'expérience que ce principe reste valable même pour les vieux développeurs ... et n'est d'ailleurs pas spécifique au développement informatique

Discussions similaires

  1. problème de vérification de POST
    Par teen6517 dans le forum Langage
    Réponses: 4
    Dernier message: 02/03/2007, 10h32
  2. Réponses: 4
    Dernier message: 09/01/2007, 22h28
  3. MD5 problème de vérification
    Par nicotine002 dans le forum Langage
    Réponses: 9
    Dernier message: 21/08/2006, 17h35
  4. problème de vérification formulaire (non bloquante)
    Par Florent08800 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/05/2006, 12h02
  5. problème de vérification formulaire
    Par Le Rebel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/03/2006, 13h10

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