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 :

Supprimer valeur GET dans Url


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Supprimer valeur GET dans Url
    Bonjour,
    Dans un tableau qui liste mes articles j'ai pour chaque article un bouton supprimer.
    en cliquant dessus, j'envoie l'id de l'article en GET pour être utiliser dans ma requête d'update (monsite.com/article.php?supp=1).

    Le problème est que si je fait F5 cela relance la requête, et j'aime pas trop ça.
    J'ai testé en ajoutant un "header location" a la fin du script de mise a jour, mais cela empêche l'affichage du message de réussite ou d'erreur.

    Je ne souhaite pas passer par un formulaire pour l'envoie en POST.
    Connaissez vous une astuce pour virer la valeur de la variable après exécution du traitement ?

    Merci

  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
    Tu peux passer un message (ou un numéro de message) en paramètre dans ta redirection.

    Au passage, le problème est le même avec POST.

  3. #3
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    Exemple :

    index.php possédant le lien vers supp.php?id=1
    supp.php fait la suppression, met en session un message (erreur ou réussite), redirige vers index.php qui affiche le message et supprime ensuite la variable de session

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    session_start();
    ?>
    ...
    <a href="supp.php?id=1">supprimer le 1</a>
    ...
    <p><?php echo $_SESSION['messageretour'];?></p>
    ...
    <?php
    unset($_SESSION['messageretour']);
    supp.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    session_start();
    $id = $_GET['id'];
    // vérif de l'id contre les injections
    ?>
    ...
    // requête de suppression
    if($request)
         $_SESSION['messageretour'] = $id." a bien été supprimé";
    else
         $_SESSION['messageretour'] = "Erreur lors de la suppression de ".$id;
    header('Location: index.php');
    en gros.

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'avais déjà pensé a toutes ces solutions, mais cela ne va pas avec mon système d'affichage des messages.
    Ça peux sembler con, mais j'ai fait un système d'information en POO et je ne souhaiterais pas faire une bidouille pour palier a ce type de déconvenue.
    Bah c'est pas grave.
    Merci a vous

  5. #5
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    Si tu nous indiquais ton système d'affichage de message on pourrait t'aider

  6. #6
    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
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Le problème est que si je fait F5 cela relance la requête, et j'aime pas trop ça.
    J'ai testé en ajoutant un "header location" a la fin du script de mise a jour, mais cela empêche l'affichage du message de réussite ou d'erreur.
    Normalement ça ne devrait pas être le cas.

    Vu que tu utilise une session pour stocker le message de retour (réussite ou erreur), c'est que lorsque ce message est affiché la 1ère fois, la variable de session "messageretour" ne serait pas détruite, elle serait donc toujours présente.
    Détruit la ou alors réinitialise la en lui mettant une chaine vide.

  7. #7
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    @RunCodePHP : je crois que tu as lu la conversation à l'envers

  8. #8
    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
    Points : 3 947
    Points
    3 947
    Par défaut
    Citation Envoyé par Shikiryu
    @RunCodePHP : je crois que tu as lu la conversation à l'envers
    Effectivement, je fais allusion à ton code pensant que c'était le sien.

    Vu comme tu le dis qu'on ne sait pas comment il a fait son système de messagerie, ma remarque peut très bien l'aider quand même pour peu qu'il ait fait quelque s'approchant à ton code.
    Pas si hors sujet que ça finalement, non ?


    M'enfin, c'est pas bien grave, il le dit lui même d'ailleurs.

Discussions similaires

  1. supprimer valeur identique dans un tableau
    Par drick35 dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2014, 16h46
  2. maîtrise de Get dans URL
    Par proximacent dans le forum Langage
    Réponses: 6
    Dernier message: 23/01/2012, 20h48
  3. Supprimer la locale dans URL
    Par Javix dans le forum Tapestry
    Réponses: 13
    Dernier message: 11/01/2012, 11h08
  4. Insérer une valeur GET dans la redirection
    Par rduvrac dans le forum Langage
    Réponses: 2
    Dernier message: 27/02/2008, 17h51
  5. Supprimer une variable GET dans une URL
    Par rophi dans le forum Langage
    Réponses: 2
    Dernier message: 26/02/2008, 01h25

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