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 :

[PHP-JS] Récupérer variable GET d'une autre page.


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut [PHP-JS] Récupérer variable GET d'une autre page.
    Bonjour,

    Je possède un site contenant une galeries de photos. Et je souhaiterais créer un espace pour poster des commentaires par galerie et non par photo.

    Les commentaires sont stockés dans une BDD alors que les galeries n'en possèdent pas.

    Voici la table commentaire, comprenant 4 champs:
    - ID
    - Date
    - Pseudo
    - Message
    - NumAlbum

    Chaque album est représenter par un numéro dans l'url.
    exemple: Pour l'album 1: www.monsite.fr/galerie.php?album=01

    voici les pages:
    du formulaire pour poster des messages: galerie.php
    Et l'affichage des commentaires: commentaire.php

    J'arrive bien à poster des messages pour l'ensemble des albums, il me stocke bien dans la table commentaire. Mais je n'arrive pas à trier l'affichage par album.

    Supposons que je consulte actuellement la galerie 01, je poste un commentaire dans cette galerie. Et lorsque je clique sur "voir les commentaires", je voudrais que la page commentaire.php m'affiche uniquement les commentaires de l'album 1. Idem lorsque je regarde la galerie 02.

    Pour cela, il faut creer une condition dans commentaire.php:
    Exemple en algo:
    If $_GET['album'] = NumAlbum alors
    affiche tous les messages
    fin If.

    Mon seul probleme c'est que je n'arrive pas a récupérer la variable album passé en url dans la page galerie.php.

    J'espere que vous m'avez suivit ^^, je sais pas trop comment l'expliquer...

    En tout cas pour ceux qui ont compris, merci pour aide.

    WallaWalla

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je comprends ce que tu souhaites faire. La solution est simple, tu dois passer à ta page commentaire, le meme argument qui a été passé à ta page gallerie.


    dans ta page gallerie tu as sans doute ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $album=$_GET['album'];
    ...
    et plus loin tu dois mettre un lien genre : 
    <a href="commentaire.php">commentaire</a>
    il te suffit de faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $album=$_GET['album'];
    ...
    <a href="commentaire.php?album=$album">commentaire</a>
    de cette façon, qqn accède ta page gallerie comme ceci : gallery.php?album=2

    ton lien commentaire sera maintenant: commentaire.php?album=2

    tu pourras donc utiliser :dans ta page commentaire tout comme tu le faisais dans ta page gallerie...

    en espèrant avoir été clair dans mon explication

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    Merci de m'avoir repondu.


    il te suffit de faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $album=$_GET['album'];
     ... 
    <a href="commentaire.php?album=$album">commentaire</a>
    Dsl j'avais oublié de préciser que la page commentaire possède également une variable dans l'url. par exemple: www.monsite.fr/galeries/commentaire.php?page=1

    En effet, il peut y avoir plusieurs pages, en fonction du nombre de commentaire.

    En tout cas, je ne sais pas si ca va poser probleme...
    Ceci dit, je testerai tout ca demain... car fatigué ^^

  4. #4
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 181
    Par défaut
    Tu peux passer plusieurs paramètres dans l'url en les séparant par un & (noté &amp; en code HTML).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<a href="commentaire.php?page='.$page.'&amp;album='.$album.'">commentaire</a>';

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    La concaténation des variables passé ds l'URL fonctionne bien.

    Mais lorsque je passe l'affichage des commentaires d'un album à un autre, il ne m'affiche pas tous les messages de l'album (certain album affiche tout et pas d'autre). Ma condition IF doit etre foireuse...

    voici un bout de mon code:

    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
    18
    19
    20
    21
    22
    23
    24
    25
     
    $album=$_GET['album'];
    ...
    $chercher = mysql_query ("SELECT * FROM commentaire  WHERE date!='xx' ORDER BY id DESC LIMIT $PremierMessage,$MessagesParPage");
     
    	while ($voir = mysql_fetch_array ($chercher))	{ 
    		$MessagesParAlbum = $voir['numalbum'];
    		if ($MessagesParAlbum==$album) { // ma condition
     
     
    		   $time = date('d-m-y', $voir['date']);
    		   $pseudo = $voir['pseudo'];
                       $message = $voir['message'];
                         ?>
    			<center>
    			<div class="livre">
    			<div class="pseu"><? echo $pseudo ; ?></div>
    			<div class="date"><? echo $time ; ?></div>
    			<div class="mess"><? echo $message ; ?></div>
    			</div>
    			</center>
    			<?
    		}// fin if
    	} // fin while
    		?>
    Je sais pas si ce bout de code pourra vous aider...
    en tout cas merci par avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par wallawalla
    La concaténation des variables passé ds l'URL fonctionne bien.

    Mais lorsque je passe l'affichage des commentaires d'un album à un autre, il ne m'affiche pas tous les messages de l'album (certain album affiche tout et pas d'autre). Ma condition IF doit etre foireuse...

    voici un bout de mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $album=$_GET['album'];
    ...
    $chercher = mysql_query ("SELECT * FROM commentaire  WHERE date!='xx' ORDER BY id DESC LIMIT $PremierMessage,$MessagesParPage");
    tu lis le # d'album, mais tu ne l'utilises pas dans le query..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chercher = mysql_query ("SELECT * FROM commentaire  WHERE album_id = $album and date!='xx' ORDER BY id DESC LIMIT $PremierMessage,$MessagesParPage");
    j'ai mis album_id, mais je connais pas ta définition de table

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    Citation Envoyé par Luc Raymond
    tu lis le # d'album, mais tu ne l'utilises pas dans le query..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chercher = mysql_query ("SELECT * FROM commentaire  WHERE album_id = $album and date!='xx' ORDER BY id DESC LIMIT $PremierMessage,$MessagesParPage");
    j'ai mis album_id, mais je connais pas ta définition de table
    Ca fonctionne nikel, en effet j'avais oublié d'utiliser ma variable album ds le query.

    Merci bien

    Sinon j'ai une autre petite question, est ce normal que si on définit un champ non editable, alors il ne prend pas en compte la valeur?

    si je fais par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print("<input name=\"album\" type=\"text\" size=\"2\" value=$album disabled/>");
    Il ne stocke pas ma valeur dans la base de données.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par wallawalla
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print("<input name=\"album\" type=\"text\" size=\"2\" value=$album disabled/>");
    Il ne stocke pas ma valeur dans la base de données.
    dans ce bout de code tu ne fais qu'afficher la valeur.. pour modifier la base, tu dois faire un query UPDATE...

    de mémoire je ne me rappelle pas, si lors de l'envoit d'un formulaire, les champs disablé sont aussi envoyés.. si ils ne le sont pas, tu pourrais faire un event javascript, sur le click du bouton d'envoi, qui mettrait ton champ à ENABLED..

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    de mémoire je ne me rappelle pas, si lors de l'envoit d'un formulaire, les champs disablé sont aussi envoyés.. si ils ne le sont pas, tu pourrais faire un event javascript, sur le click du bouton d'envoi, qui mettrait ton champ à ENABLED..
    Non il ne sont pas envoyé. Je vais suivre ton conseil, je vais utiliser du javascript pr passer a enabled.

    En tout cas merci !!!

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par wallawalla
    Non il ne sont pas envoyé. Je vais suivre ton conseil, je vais utiliser du javascript pr passer a enabled.

    En tout cas merci !!!
    Je crois que tu aurais pu aussi mettre le champ ENABLED mais invisible. Cela reviendrait au meme.. évitant par contre de faire du javascript.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/10/2011, 14h24
  2. Réponses: 3
    Dernier message: 23/06/2011, 16h47
  3. Réponses: 3
    Dernier message: 11/05/2006, 17h47
  4. [PHP-JS] Traitement des données dans une autre page...
    Par sekiryou dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2006, 09h06
  5. [Tableaux] récupérer un tableau sur une autre page
    Par samsso2005 dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2006, 22h58

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