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 :

variable passer en url


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut variable passer en url
    bonjour,
    je suis désolé si je ne suis pas dans le bon forum.
    j'ai une page php où je passe la variable nommé id en url a une deuxième page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="page2.php?id=1">
    je récupère la variable id dans la deuxième page grâce a je fais un traitement bien particulier avec cette variable mais lorsque j'actualise la page le traitement se fait encore une fois parce que la variable est toujours présente, est ce qu'il y a une solution pour que j'utilise cette variable une seule fois(au moment où je le récupère la première fois ) puis je l'efface ou quelque chose comme ça.
    merci d'avance pour vos réponses.

  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
    Par défaut
    tu peux utiliser une variable de session pour marquer que tu as fais ton traitement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    merci pour votre réponse

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    merci pour votre réponse.
    mais je veux vraiment savoir comment faire ça par le passage du paramétre en url

  5. #5
    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
    Par défaut
    Je n'ai pas dit de changer ça.
    Tu gères juste en plus une variable de session qui te sers de marqueur pour savoir si tu as déjà réalisé le traitement ou pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    oui je suis désolé je n'a pas bien compris
    mais si tu peux m'envoyer un bout de code pour me montrer comment faire ca stp

  7. #7
    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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    session_start();
    $id=$_GET['id'];
    if (!isset($_SESSION['traitement'][$id])) {
    // code de ton traitement
    $_SESSION['traitement'][$id] = 1;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    merci pour votre réponse, mais malheureusement ca me donne l'erreur suivant:
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\filmcity_php\films.php:141) in C:\wamp\www\filmcity_php\films.php on line 406

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\filmcity_php\films.php:141) in C:\wamp\www\filmcity_php\films.php on line 406

    sachant que line 406 contient l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!isset($_SESSION['traitement'][$id]))

  9. #9
    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
    Par défaut
    Le session_start() doit etre placé au début du code, du moins avant tout envoi au navigateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    voila le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    session_start();
    connection();//fonction pour établie la connection
    $id=$_GET['id'];
    if(!isset($_SESSION['vu'][$id])){
    //mon traitement sur ma base de donnée
    $_SESSION['vu'][$id]=1;
    }
    mysql_close();
    ?>
    et ca donne le même erreur

  11. #11
    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
    Par défaut
    Quelle est l'erreur sur ce code (avec les numéros de ligne) ?

    Si le fichier est encodé en UTF8, il faut que cela soit "sans BOM".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    l'erreur est le suivant
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\filmcity_php\films.php:141) in C:\wamp\www\filmcity_php\films.php on line 401

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\filmcity_php\films.php:141) in C:\wamp\www\filmcity_php\films.php on line 401

    avec 401 la ligne qui contient l'appel de connection();

  13. #13
    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
    Par défaut
    Ta ligne 401 c'est le session_start()
    Je repete : le session_start() doit être au début du code, ou au moins avant la ligne 141 qui contient un envoi au navigateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    oui t'as raison lorsque je place le session_start() en début ca marche et il n'y a aucun erreur, mais lorsqu'on revient dans la page précédente et on cliquant sur le lien qui se trouve dans la première page pour passer une autre variable dans l'URL ça ne marche pas.
    le problème est que je veux justement empêcher l'exécution de traitement en question lors de l'actualisation de la deuxième page .

  15. #15
    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
    Par défaut
    Tu veux un seul traitement par visiteur pour chaque image ou un seul traitement par visiteur ?

    Si tu veux un seul traitement par visiteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    session_start();
    connection();//fonction pour établie la connection
    $id=$_GET['id'];
    if(!isset($_SESSION['vu'])){
    //mon traitement sur ma base de donnée
    $_SESSION['vu']=1;
    }
    mysql_close();
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    non c'est pas un seul traitement par visiteur mais je veux que le traitement se fait a chaque fois l'utilisateur clic sur l'image(le lien) dans la première page.

  17. #17
    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
    Par défaut
    Tu veux dire que le traitement doit se faire a chaque clique de la page A vers B mais pas si on rafraichit la page B ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    exactement

  19. #19
    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
    Par défaut
    Tu peux faire
    Page B
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    session_start();
    if(!isset($_SESSION['vu'] || $_SESSION['vu'] == 0)){
    //mon traitement sur ma base de donnée
    $_SESSION['vu']=1;
    }
    ?>
    Page A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    session_start();
    $_SESSION['vu'] = 0;
    Ainsi a chaque retour a la page A, on a le droit de refaire un traitement
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 125
    Par défaut
    est ce que la condition comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_SESSION['vu'] || $_SESSION['vu'] == 0))
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_SESSION['vu']) || $_SESSION['vu'] == 0)
    on ce qui concerne les parenthèses.

Discussions similaires

  1. portée de la variable passer en URL perdue en submit
    Par aty5michel dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2011, 19h22
  2. Passer deux variables via une URL
    Par 123quatre dans le forum Langage
    Réponses: 8
    Dernier message: 28/06/2007, 20h02
  3. [Système] INCLUDE sans passer les variables dans l'URL
    Par bonjour69 dans le forum Langage
    Réponses: 9
    Dernier message: 07/10/2006, 02h20
  4. Réponses: 6
    Dernier message: 19/12/2005, 14h41
  5. [Struts] Passer une variable dans l'url
    Par pilz dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/03/2005, 16h23

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