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 :

[Système] Transmettre le id du GET


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut [Système] Transmettre le id du GET
    SLT
    voiçi mon probleme :

    j'ai ma page1.php : contient une liste de nom (des liens) (nom1,nom2,...) correspondant aux noms enregistrés ds ma BD .

    dans ma page 2 j'ai un formulaire pour supprimer (Un DELETE) (un des nom si l'utilisateur désire de supprimer son nom) , le formulaire contient un champ mot de passe et le bouton submit .
    Pour exécuter ma requete il faut que j'ai le id et mot de passe .
    Mais voila le id ne se transmet pas.


    j'ai un probleme de transfert du id en get dans l'url dans le reste de ma page .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    if(isset($_POST['submit']))
    {require_once('mysql_connect.php');
     
    if (empty($_POST['mot_de_passe']))
    {$mp=FALSE;
    echo "<p><font color='red' size='2'> Vous avez oublié d'indiquer votre mot de passe </font></p>";
    }
    else
    {$mp=echappement($_POST['mot_de_passe']);
    }
    et ma requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    if( $mp)
    {
    {require_once('mysql_connect.php');
    $requete = "DELETE FROM liste WHERE id='$td' AND motdepasse=PASSWORD('$mp')";
    mysql_query($requete) or die($requete . " - " . mysql_error());

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Comment $td est-il initialisé ?
    Tu ne nous donnes pas la portion de code intéressante...

    J'espère que tu n'essaies pas de faire à la fois du GET et du POST, parce que c'est pas possible.

  3. #3
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut
    je met ça au début de ma page2.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    session_start();
    $_SESSION["var"]= $_GET['td'];
    $td=$_SESSION["var"];
    j'ai bien voulu utiliser les sessions et j'ai tout essayé ds ma requete sql
    ça ne donne rien .
    (j'ai bien remplacer le id avec une valeur precise et ça marche )
    le probleme n'est pas ds la requete DELETE mais ds le transfert de id.
    ???

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Si tu relis le petit bout de code que tu viens de nous donner, tu découvriras deux choses :
    1. Ta variable de session n'est qu'une variable de passage, elle ne sert A RIEN
    2. Tu essaies de récupérer une variable GET alors qu'apparemment tu viens d'un formulaire POST. Pour la deuxième fois, c'est impossible, c'est l'un ou l'autre.

    Pour transférer $td d'une page à l'autre, deux solutions :
    1. tu la passes dans un champ hidden du formulaire
    2. tu la passes comme variable de session :
    fichier 1 : fichier 2 : tu utilises directement $_SESSION["td"], qui aura conservé sa valeur (c'est le principe des sessions).

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    1. Primon:est ce que $_GET['td'] a une valeur? essai de faire un echo de cette variable pour nous reveler son contenu.
    2. secundo: tu fais une erreur de typage. en effet je suppose que id est de type numérique n'est ce pas? alors enlève les quotes tout autour de la variable $td dans la requete

    $requete = "DELETE FROM liste WHERE id='$td' AND motdepasse=PASSWORD('$mp')";

  6. #6
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut

    echo "<a href='delete_ad.php?td=$res0'>Supprimer...</a>";

    j'avoue que je ne comprends pas .voila ce que j'ai comme code ds ma page1.php
    puis-je avoir plus d'explications.
    quel variable dois je mettre ds ma requete

  7. #7
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par arti2004
    j'avoue que je ne comprends pas .voila ce que j'ai comme code ds ma page1.php
    puis-je avoir plus d'explications.
    quel variable dois je mettre ds ma requete
    OK, j'ai peut-être pas tout bien compris à ton architecture. Tu peux redire quels sont les fichiers qui entrent en jeu ?

    Corrige-moi si j'ai pas compris :
    Tu as une page 1, qui pointe via un lien GET vers delete_add.php
    Dans delete_add.php, il y a un formulaire c'est ça ? qui est traité par un troisième fichier PHP ?

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ah oui je vois le problème...tu perds ton id parce qu'il est pas tranmis par le post. Alors soit tu le mets dans un hidden soit tu ouvres une session juste pour (ce qui est pas génial juste pour un élément lol)

    Merci Eusebius de m'avoir aidé à comprendre lol (si c'est bien ca le problème lol)

  9. #9
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut
    Voila
    ds delete_ad.php
    je met au debut :
    la sauvegarde du id (comme mentionné en code plus haut)

    et j'ai aussi un formulaire ou on doit mettre le mot de passe .
    on validant la requete est exécuté si on fournit le id et le bon mot de passe .
    pour l'instant mon probleme c'est le id qui en se transmet pas meme avec les sessions ????

  10. #10
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Kerod
    Alors soit tu le mets dans un hidden soit tu ouvres une session juste pour
    Nan mais vas-y, recopie mes posts je te dirai rien !

  11. #11
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par arti2004
    Voila
    ds delete_ad.php
    je met au debut :
    la sauvegarde du id (comme mentionné en code plus haut)

    et j'ai aussi un formulaire ou on doit mettre le mot de passe .
    on validant la requete est exécuté si on fournit le id et le bon mot de passe .
    pour l'instant mon probleme c'est le id qui en se transmet pas meme avec les sessions ????
    Dans delete_ad.php tu mets le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION["td"] = $_GET["td"];
    Et dans le fichier de traitement du formulaire, tu utilises $_SESSION["td"] directement.

  12. #12
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Oups je sors alors...j'avais même pas vu...Je te laisse...je suis confus

  13. #13
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut
    Comment le mettre en hidden ,?
    Voila ce que j'ai ds mon formulaire ds delete _ad.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <input type="password" name="mot_de_passe" size="30" maxlength="30"> <input type="hidden" name="td" value=" ???????">
    que mettre ds ce hidden??

  14. #14
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par arti2004
    que mettre ds ce hidden??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="td" value="<?php echo $_GET["td"];  ?>">

  15. #15
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    J'aurai juste une petite question qui pourrait paraitre bête : Vois tu l'id dans l'url ? (c'est pour savoir si déjà le href est bien constitué)

  16. #16
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut
    ça ne marche pas non plus...

  17. #17
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    D'où ma question : es-tu sur de l'envoi de l'id ?

  18. #18
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Kerod
    D'où ma question : es-tu sur de l'envoi de l'id ?
    question annexe, comment est-ce que $res0 est initialisée dans la première page, et es-tu sûr que ça se passe bien ?

  19. #19
    Membre du Club Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Points : 53
    Points
    53
    Par défaut
    oui jevois bien le id ds l'url et c'est le bon id
    mais plus bas ça ne supprime pas le nom

    je ne peux utiliser ds ma requete
    $_SESSION["td"]
    déja les guillemets y'a erreur

    je me demande pourquoi les sessions ne transmettent pas la variable
    j'ai déja trvaillé avec les sessions et dès que j'ai un formulaire ça ne passe pas

    ???

  20. #20
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    OK, alors reprenons, dans la page du formulaire tu as bien $_GET["id"] qui est défini.

    Quelle méthode tu as choisi pour faire passer l'id dans le script de traitement, le champ hidden, ou les sessions ?

    Si c'est le champ hidden, il faut que tu récupères la valeur avec $_POST["td"].
    Si c'est avec les sessions, tu utilises $_SESSION["td"].

    Dans les deux cas, tu ne rentres pas l'expression directement dans la requête (même s'il y a des guillemets doubles), tu fais une concaténation de chaîne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... WHERE `id`=" . $_SESSION["td"]
    ou un truc du genre.
    C'est bon ?

Discussions similaires

  1. transmettre du json avec GET
    Par enzostar dans le forum Langage
    Réponses: 7
    Dernier message: 07/05/2010, 12h33
  2. [AJAX] transmettre plusieurs variables par get
    Par arthuro45 dans le forum AJAX
    Réponses: 2
    Dernier message: 16/04/2010, 19h50
  3. [Système] fonction isset et méthode GET
    Par guillaume2vo dans le forum Langage
    Réponses: 1
    Dernier message: 21/04/2007, 19h57
  4. [Système] transmettre une variable via url sous Mozilla
    Par kiloone08 dans le forum Langage
    Réponses: 6
    Dernier message: 13/04/2007, 10h53
  5. [Système] Include_once + passage de paramètres en GET
    Par costadelo dans le forum Langage
    Réponses: 5
    Dernier message: 24/10/2006, 19h33

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