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 :

Problème de formulaire et session


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Problème de formulaire et session
    Voilà j'ai crée un formulaire qui est fonctionnel et qui enregistre dans ma bdd dans une table nommée membres_tbl plusieurs champ: id,login,password,mail et power.
    Mon problème est pour se connecter j'ai 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
    <?
    require("http://cowpox.free.fr/conf.php"); // C'est ma connect a ma bdd
     
     
    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
      extract($_POST);
      // on recupère le password de la table qui correspond au login du visiteur
      $sql = "select password,power from membres_tbl where login='".$login."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
      $data = mysql_fetch_assoc($req);
     
      if($data['password'] != $password) {
            echo '<SCRIPT LANGUAGE="JavaScript">
    document.location.href="index.php" </SCRIPT>';
        exit;
      }
      else {
        session_start();
        $_SESSION['login'] = $login;
        $_SESSION['power'] = power;
     
        echo '<SCRIPT LANGUAGE="JavaScript">
    document.location.href="connect.php" </SCRIPT>'; 
      }  
    }
    else {
       echo '<SCRIPT LANGUAGE="JavaScript">
    document.location.href="index.php" </SCRIPT>';
       exit;
    }
    ?>
    Voilà déja ce code marche pas alors que sans le champs power (qui donne different acces selon l'utilisateur -> admin =3 modo=2 acces certaine section=1 membres=0 non enregistrer= pas de valeur) j'arrivais a me connecté.
    La deuxième chose que j'aimerais avoir comme code c'est celui que je met en en-tête de chaque page cad le session start pour que soit transmis de page en page le pseudo et le power ainsi que la formule si power = ou > ou < a xx tu vois "bienvenue" sinon tu vois "tu n'es pas autoriser a consulter cette page".
    Voilà j'espère que tout est clair et je vous remercie de votre aide d'avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['power'] = power;
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['power'] = $power;
    et que se passe t'il si un utilisateur saisi
    ' OR power='3
    comme login ?

    ta chaine sql devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select password,power from membres_tbl where login='' OR power='3'
    il faut proteger/controler les elements saisis par un utilisateur.

    cad le session start pour que soit transmis de page en page le pseudo et le power
    ba le code c'est session_start() mais j'ai peut etre mal compris la question.

    ainsi que la formule si power = ou > ou < a xx tu vois "bienvenue" sinon tu vois "tu n'es pas autoriser a consulter cette page".
    ba
    if (...) ... then ... else ....
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bon pour le code j'ai changer power par $power et ça ne change rien, une fois le formulaire remplit avec bon login et bon pass il m'envoie sur l'index... Alors qu'il devrait m'envoyé sur connect, que manque-t-il? Sinon le reste des réponses merci, je testerais si j'arrive a me connect


    Aussi dans mon formulaire de connection j'ai que deux champ: login et pass l'utilisateur ne connais pas son power c'est ce que je veux récupérer dans la connection.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En dehors des problemes que je t'ai remonté, ton script fonctionne.

    As-tu controlé le contenu de ton $_POST ?
    Je pense a particulier a des magic_quotes qui viendrait se greffer
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    magic_quotes keskecé? :p

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut lire la doc :
    http://fr3.php.net/manual/fr/security.magicquotes.php

    As-tu controlé le contenu de ton $_POST ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui le $POST est nickel, et avec exactement la même table juste en supprimant "power" comme champ mon code marche impec c'est l'ajout du champ power qui le rend non fonctionnel Tu as une idée du problème? Merci de ton aide en tout cas

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    saisie la requete dans phpmyadmin et voit ce qu'elle retourne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/10/2004, 16h12
  2. [STRUTS] problème de formulaire
    Par ultimax dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/07/2004, 15h55
  3. [struts] Destruction bean formulaire de session
    Par k4eve dans le forum Struts 1
    Réponses: 4
    Dernier message: 06/05/2004, 17h34
  4. [Struts] Problème de formulaire(s) ...
    Par djoukit dans le forum Struts 1
    Réponses: 8
    Dernier message: 10/03/2004, 23h48
  5. Réponses: 12
    Dernier message: 24/09/2003, 15h26

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