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 :

Les variables $_GET


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut Les variables $_GET
    Bonjour,
    J'ai une page ou s'affiche tous les contacts d'un client, lorsque je clic sur un de ses contacts, je peux le modifier.
    Je récupères l'ID du contact en GET, donc l'ID est visible dans ma barre d'adresse, et lorsque je change l'ID j'accède à un autre contact qui n'est pas dans la liste de mon client, en gros je peux accéder à tout les contacts de tous les clients.
    Alors j'ai essayée d'enregistrer dans une variable, ma page courante, et de la comparer dans une autre page.
    Mais cela ne fonctionne pas il m'affiche quand même l'ID du contact qui n'est pas lié à mon client.
    Ma page contacts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['redirection'] = "voir_detail_contact.php?monid=$ligne[1]";
    Ma page de modif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $_SESSION['page_actuelle'] = $_SERVER['HTTP_REFERER'];
    if($_SESSION['redirection'] != $_SESSION['page_actuelle'])
    {
    echo "erreur";
    }

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Lorsque l'ID du contact est obtenu en GET, fais tu une vérification dans la Bdd si cet ID existe bien pour ce client ?

  3. #3
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut
    Oui je vérifié si le contact existe bien comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $_SESSION['id_contact'] = $_GET['monid'];
    $_SESSION['page_actuelle'] = $_SERVER['HTTP_REFERER'];
    if($_SESSION['redirection'] != $_SESSION['page_actuelle'])
    {
    echo "erreur";
    }
     
    $select = "SELECT cont_nom, cont_prenom, cont_ville, cont_tel, cont_parentee, cont_id FROM contacts_patients WHERE cont_id = '".$_SESSION['id_contact']."'";
    $query = mysql_query($select);

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Mais ta requête ne tient pas compte du client en question, du coup ça sera quelque soit le client.
    C'est la source du problème il me semble non ?

    Il te faut rajouter une condition : selon le client

    Si des clients ont leur propre contact, il doit avoir une table "client", un ID de client.
    Faudrait avoir cet ID de client, quitte à le transmettre aussi, et faire une jointure contact/client et rajouter un truc comme :
    AND client_id = $client_id


    Enfin, je suppose.

  5. #5
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut
    Pfff, comme à chaque fois que je code je me complique la vie, alors que des solutions simples existent !!
    Maintenant quand il tapes un numéro dans mon URL, ca ne le redirige pas.
    Merci RunCodePhp

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Par défaut
    En base, j'imagine que tu as une table contact, et une table client.

    Il faut ajouter une clé étrangère dans la table contact : 'id_client'.
    C'est une relation 1 - n de contact vers client.

    Cette façon de faire équivaut à dire qu'un contact n'appartient qu'à un client.

    Si deux clients différents peuvent avoir le même contact, alors il faut faire une table pour rejoindre. (n - n)

    client-contact
    ---------------
    id
    id_client
    id_contact



    Ensuite, dans ta requête pour récupérer les infos contacts, tu vérifies que le contact est bien relié au client



    Edit : Oups, devancé...

  7. #7
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut
    Merci tout de même pour ta réponse.
    Une autre au passage, comment peut-on sécurisé une variable en $_GET ? a par vérifier que c'est bien un int ?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/04/2007, 17h16
  2. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 14h59
  3. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 13h53
  4. [XSLT] les variables???
    Par Lydiane dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 09/08/2002, 17h17
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 09h34

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