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 :

[Sécurité] info utilisateur


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut [Sécurité] info utilisateur
    Bonsoir,
    Voilà je me suis mis à php depuis environ 1 semaine, avant j'étais plutot du coté forum JAVA. J'ai donc installé mon ptit Apache, php et mysql.Et voilà que je me pose quelques questions:

    1.Via un formulaire je recupere les info utilisateur d'inscription que je met dans mysql. Comment faire, pour quand il se log, il puisse arriver sur une sorte de page perso?

    2.Comment faire également pour que l 'utilisateur inscrit, voit à sa prochaine visite, son login et mot de passe déjà inscrit dans les fields? Je pense tout de suite aux cookies mais est ce le seul moyen?

    3. Qu'est ce qu'une session?j'ai recherché un peu mais je n'ai presque rien compris.

    Voilà,comme vous pouvez le voir, je débute vraiment
    Merci d'avance.
    Pourquoi ca marche jamais?Vive le café!

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut Re: info utilisateur
    Salut,

    et bienvenue dans la communauté PHP

    pour les sessions, je te conseille un peu de lecture ici : http://php.developpez.com/faq/?page=sessions
    en gros elle permettent la persistance des données entre les différentes pages de ton site.

    pour mémoriser le login et le mot de passe > oui il faut utiliser les cookies >
    http://php.developpez.com/faq/?page=...divers_cookies

    pour créer un script d'authentification, je te conseille de faire une recherche sur le forum, il y a pas mal de threads qui décrivent comment faire...
    en gros, tu fais un formulaire login/mdp avec un bouton submit, tu récupères les valeurs que tu compares avec celles contenues dans ta base de données, et si ça colle, tu crées une variable de sessions permettant de mémoriser l'authentification de ton utilisateur. Pour personnaliser la page d'accueil de cet utilisateur, tu fais une requete MySQL afin de récupérer les informations de cet utilisateur (par rapport à son ID par exemple).

    bon dév

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut et bienvenue parmi nous !

    En gros, une session est un peu comme un cookie sur le serveur mais dont la durée de vie, bien plus courte, est limitée à la présence de l'utilisateur sur le site.

    Pour utiliser les sessions, il faut propager un identifiant de session entre le serveur et le visiteur. Cela se fait généralement au moyen de cookies pour ne pas rendre les liens tout laids (les cookies permettent de transmettre le SID sans le mettre dans les liens).

    Le cookie permet de se souvenir de paramètres d'une page sur l'autre. Il a une durée de vie limitée.
    La session aussi.

  4. #4
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Merci pour vos réponses
    Alors si j'ai bien tout suivi, je crée des cookies pour que l'utilisateur voit son login et mdp toujours présent lorsqu'il revient sur la page, et pour personaliser la page de cet utilisateur, je fais une session(dans laquelle je récupere ses infos dans ma base). Mais n'est il pas préférable de se servir des cookies afin d'y mettre les info utilisateur plutot que dans la base?A moins que le cookies soit moins fiable par rapport à sa durée de vie, le fait qu on puisse le supprimer, ou bien encore que le navigateur ne l 'accepte pas.
    Enfin bref je vais regarder les liens et thread, encore merci.
    Pourquoi ca marche jamais?Vive le café!

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Fais le maximum avec les sessions, c'est plus sûr. méfie-toi de tout ce qui vient de l'utilisateur (les cookies en font partie). Ne lésine jamais sur les vérifications côté serveur.
    Les sessions sont la seule chose que tu n'as pas vraiment besoin de vérifier en permanence, puisqu'elles restent sur le serveur. Si tu fais attention à ce que tu mets dans une variable de session, tu n'as pas besoin de vérifier par la suite (contrairement aux cookies).

    Exemple : tu ne peux pas faire confiance à un cookie pour savoir si l'utilisateur est loggué sous tel pseudo ou sous tel autre. Par contre, tu peux faire confiance à une session pour ça.
    En gros, la règle est simple : stocker soit le minimum possible dans le cookie, soit des informations non sensibles qui sont uniquement destinées à être affichées dans le navigateur (économie de bande passante ou de requêtes, si tu veux).

  6. #6
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Ok bien reçu J'ai déjà commencé a faire les sesion, ca à l'ai de bien fonctionner.Mais je vais surment pas tarder a me reposer quelques questions je penseDonc je laisse le post ouvert.
    Merci encore.
    Pourquoi ca marche jamais?Vive le café!

  7. #7
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Bonsoir, me revoilà
    Voilà mon problème, je desire classé mes données par ordre alphabétique et par conséquent, creer 26 liens(A,B,C...).Je voudrais donc eviter de creer 26 pages php
    Page 1: Choix de la lettre
    Page 2:Affichage du resultat

    Je voudrais savoir comment envoyer le choix de la lettre de la page 1 à la page 2?
    Merci d'avance
    Pourquoi ca marche jamais?Vive le café!

  8. #8
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Rofl, j'aurais peut-être du refaire un poste.
    Pourquoi ca marche jamais?Vive le café!

  9. #9
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    pour envoyer une donnée d'une page à une autre, le plus simple reste le formulaire HTML.

    Dans ton cas, tu va créer un formulaire qui va contenir :
    - une listbox nommé choix_lettre contenant 26 éléments (tes lettres)
    - un bouton valider

    puis, dans ta page de récupération de la valeur, tu la récupérera comme suit :

    $_GET['choix_lettre'] ou $_POST['choix_lettre'], suivant la facon dont tu fait transiter les données via le formulaire (post ou get)

    courage à toi
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  10. #10
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    tu peux envoyer l'identifiant par l'URL et boucler dans un switch pour afficher la réponse:

    sommaire.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // a toi d'imaginer pour afficher ceci par itération
    <a href="reponse.php?id=a">a</a>
    <a href="reponse.php?id=b">b</a>
    reponse.php
    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
     
    <?php
    $id=(!isset($_GET['id']))?(''):($_GET['id']);
     
    // tu pourrais inclure ici une page sommaire de tous les mots commencant par a par exemple à la place du echo
    switch ($id) {
       case "a":
          echo "la lettre demandée est $id";
          break; 
       case "b":
          echo "la lettre demandée est $id";
          break;
       default:
          echo "aucune lettre demandée !";
          break;
    }
    ?>
    voilà, presque comme en java, on pourrait dire que la superglobale $_GET est l'équivalent de l'interface HttpServletRequest dans J2EE...


  11. #11
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Merci pour vos réponse,
    En fait je voulais éviter que l'utilisateur soit obligé de cliquer sur un bouton pour valider(ils deviennent de plus en plus faignant ceux là )Mais merci qaund même titoumimi.

    Et pour ska_root, je pense que c'est ca qu'il me faut.Je comprend à peu prés le fonctionnement mais que signifie ceci?:
    Ca veut dire que l'on va envoyer la variable "a" par la methode GET à réponse.php?

    Et pour le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $id=(!isset($_GET['id']))?(''):($_GET['id']);
    alors là...
    Bon le GET['id'], ca va
    Mais le reste ca me fait trop penser à du C et ca me donne mal à la tête, pourrais tu m'expliquer stp?
    Pourquoi ca marche jamais?Vive le café!

  12. #12
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    tu parles de C, mais ça existe aussi dans JAVA...

    $variable = (condition) ? (valeur) : (defaut);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $id=(!isset($_GET['id']))?(''):($_GET['id']);
    est équivalent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // si $_GET['id'] n'existe pas
    if (!isset($_GET['id'])) {
       // defaut
       $id='';
    }else {
       // si $_GET['id'] existe
       $id=$_GET['id'];
    }
    ta variable est donc initialisée (même si $_GET['id'] n'existe pas) comme ça, la fonction switch() ne peut pas générer une éventuelle erreur...


    pour le $_GET, oui c'est bien ça... sauf que je m'étais planté, c'est pas reponse.html mais reponse.php (j'ai réédité mon post...)

    bon dév

  13. #13
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Ah ça me revient,j'avais perdu l'habitude de faire ce genre de code en java(c'est bien dommage).
    Je vais essayer avec ce ce genre de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?
    for($i=0;$i<26;$i++){
    ?>
    <a href="listclass.php?id= <? echo "$i" ?>">a</a>
    <?
     
    }
    ?>
    Et dans listclass.php, si i=0 donc "A" etc...
    Je suppose qu'il y a plus simple mais se fait tard
    Pourquoi ca marche jamais?Vive le café!

  14. #14
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Enfin sauf pour le :
    Ca va me marquer des "a" 26 fois mais bon, je vais peut être regardé du coté du code ascii
    Pourquoi ca marche jamais?Vive le café!

  15. #15
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    heuu oui, ça risque d'être un peu lourd avec l'ascii mais bon...

    moi je ferai plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $arLettres = array ('a','b','c','d','e',etc....);
     
    foreach ($arLettres as $lettre) {
       echo "<a href=\"listclass.php?id=$lettre\">$lettre</a>";
    }
    ou alors si tu veux a tout prix gérer avec les chiffres après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $arLettres = array ('1'=>'a','2'=>'b','3'=>'c','4'=>'d','5'=>'e',etc....);
     
    foreach ($arLettres as $key => $lettre) {
       echo "<a href=\"listclass.php?id=$key\">$lettre</a>";
    }
    aprés toujours pareil, les goûts les couleurs


  16. #16
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Rofl, je viens de trouver quelque chose d'assez correct avec l'ascii:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?
    $a=0;
    for($i=0;$i<26;$i++){
    $a=$i+65;
    ?>
    <a href="listclass.php?id= <? echo "&#$a" ?>"><? echo"&#$a"?></a>
    <?
     
    }
    ?>
    En fait le &#65 correspond au "A" ,le 66 au "B", etc...


    Mais je pense que je vais peut-être prendre ton premier code.Enfin je verrais bien.
    En tout cas merci pour tout, bonne soirée et surtout Bonne nuit
    Pourquoi ca marche jamais?Vive le café!

  17. #17
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    entièrement d'accord avec toi, c'est beaucoup plus simple que l'utilisation d'un tableau...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $a=0;
    for($i=0;$i<26;$i++) {
       $a=$i+65;
       echo "<a href=\"listclass.php?id=$i\">&#$a</a>";
    }
    bonne nuit à toi aussi...

  18. #18
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Désolé de reposter alors que c'était résolu mais ca me met un problème avec ma requête SQL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = mysql_query("SELECT * FROM argus WHERE nom LIKE '$id%'");
    Normalement ceci devrait fonctionner, mais non...
    J'ai fait un echo de $id, ce qui me renvoie bien la lettre, par exemple "D".
    J'ai également modifier $id juste avant ma requête:
    Et là ca fonctionne, ce qui voudrait dire que $id ne vaut pas "D" alors que quand je fais son eccho, ca me renvoie "D".
    Enfin bref je comprend pas
    Pourquoi ca marche jamais?Vive le café!

  19. #19
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    tu as essayé de taper cette requête directement dans phpMyAdmin ?

  20. #20
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Je ne peux pas avec la varible non?
    Sinon sans la variable, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT * FROM argus WHERE nom LIKE 'D%'
    '
    ca fonctionne
    Pourquoi ca marche jamais?Vive le café!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/07/2009, 15h28
  2. Infos utilisateur via l'API
    Par jab dans le forum SharePoint
    Réponses: 3
    Dernier message: 04/08/2007, 10h01
  3. [Authentification Realm] Infos utilisateur et redirection
    Par mamiberkof dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 22/04/2006, 22h16
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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