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 :

passer un lien d'une page à une autre


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut passer un lien d'une page à une autre
    Bonjour à tous
    Mon problème est comment récupérer la valeur d'un lien dans la page cible comme s'il s'agit d'un poste de formulaire??
    Une autre question c'est: lorseque je poste un formulaire contenant un input type="file", la valeur récupérée c'est juste le nom du fichier avec son extension, y a t-il de solution pour récupérer tout le chemin?
    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Salut,

    Qu'est ce que tu veux dire par "la valeur d'un lien" ?
    Si tu veut parler des variable dans une url comme "http://www.monsite.com?var1=test&var2=test2", tu doit utiliser un $_GET['nom_de_ta_var'] (par ex: $_GET['var1'] contient test).

    Pour le chemin du fichier si tu veut le chemin du fichier sur le poste client, je ne connais pas de moyen de le faire simplement.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    bon j'ai voulu dire par valeur ce que se trouve dans la balise a c'est à dire <a ..>val </a> mais j'ai pas de problème de quoi elle s'agit, l'essentiel est d'attribuer une valeur à chaque lien pour distingue pas la suite sur quel lien l'utilisateur a cliqué pour l'utiliser dans la page cible. car dans mon cas les liens sont dynamiques, ils sont créés à l'aide d'une table.

  4. #4
    Membre expérimenté Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Par défaut
    Est-ce que tu pourrais expliquer un peu plus et en donnant des exemples de code notamment. Mais il me semble qu'utiliser les variables en GET comme l'a indiqué Alvaten peut convenir.

    Pour le chemin du fichier c'est impossible en PHP, vu que c'est un langage Serveur, il n'a pas accès au poste client. Si tu veux faire ça je crois qu'il existe des formulaires d'upload en Flash qui permettent de récupérer des chemins mais pas sûr. Dans tous les cas, en fait, j'ai du mal à savoir en quoi ça pourrait t'être utile d'avoir tout le chemin.

  5. #5
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    ci-joint, un exemple.

    nb : attention, l'exemple est le plus simple possible pour que tu voies le principe. il faut vérifier les données envoyées/reçues !

    index.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <head>
    <script type="text/javascript">
    function envoyer_lien(lien)
    {
      return document.location.href = 'lien.php?lien=' + lien.innerHTML;
    }
    </script>
    </head>
    <body>
    <a href="#" onclick="javascript: return envoyer_lien(this)">monlien</a>
    </body>
    </html>
    lien.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
     
    <head>
     
    </head>
     
    <body>
     
    <p>Lien : <?php echo $_GET['lien']?></p>
     
    </body>
     
    </html>

  6. #6
    Membre expérimenté Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Par défaut
    Ok, tu aurais pu mettre le code ici avec les bonnes balises, ça aurait été mieux.

    Fichier index.html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <html>
    <head>
    <script type="text/javascript">
    function envoyer_lien(lien)
    {
      return document.location.href = 'lien.php?lien=' + lien.innerHTML;
    }
    </script>
    </head>
     
    <body>
    <a href="#" onclick="javascript: return envoyer_lien(this)">monlien</a>
    </body>
    </html>
    Fichier lien.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
    <head>
    </head>
     
    <body>
    <p>Lien : <?php echo $_GET['lien']?></p>
    </body>
    </html>
    Moi c'est plutôt au niveau du Javascript que ça me parait bizarre. Fait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <html>
    <head>
    <script type="text/javascript">
    function envoyer_lien(lien)
    {
      location.href = 'lien.php?lien=' + lien.innerHTML;
    }
    </script>
    </head>
     
    <body>
    <a href="#" onclick="javascript: envoyer_lien(this)">monlien</a>
    </body>
    </html>
    Ca devrait marcher mieux comme ça.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    Merci pour vous tous
    oui ça marche c'est ce que j'ai voulu.
    j'ai du mal à savoir en quoi ça pourrait t'être utile d'avoir tout le chemin.
    je voulais faire comme un lecteur de séquence videos.

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    bonjour à tous
    J'ai trouvé de petite difficulté pour appliquer ce ci sur les framesets mais enfin je suis arrivé à la solution: il faut tout simplement changer le corps de la fonction en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open( 'vid.php?lien=' + lien.innerHTML,'nom de la frame');
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return document.location.href = 'lien.php?lien=' + lien.innerHTML;
    y a t-il de solution en utilisant php pour une chose similaire à ce qui est fait dans ce site: http://www.5min.com/ c'est à dire afficher des liens qui sont sous formes de vidéos et en cliquant sur l'un d'eux la vidéo commence dans la zone souhaitable dans la même page?
    merci encore une fois

  9. #9
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Salut,

    Encore une fois ce n'est pas très clair. Qu'entend-tu pas "des liens qui sont sous formes de vidéos" ?

    Si tu veux dire le fait qu'ils soit dynamique et qu'ils changent au passage de la souris avec un aperçu de la vidéo. Je pense que tu devrais faire un tour du côté du JavaScript. Tu peut aussi faire des liens dynamique en CSS mais je sais pas comment gérer la miniature de la vidéo.

    En espérant que ca t'aide.

  10. #10
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    mon javascript est bizzard ? :p

    bon, dans ma fonction j'ai bien mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return document.location.href = '...'
    et je confirme le return !

    je confirme aussi le return dans le lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="javascript: return ...">...</a>
    les navigateurs attendent une réponse d'un javascript. mieux vaut respecter les normes. généralement, on trouve ce genre de notation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="javascript: mafonction(); return false;">...</a>
    mais on peut aussi renvoyer directement le retour de la fonction en question...

    nb : je n'ai pas dis que le xhtml respectait les normes mais quand même, je sais ce que dois retourner la fonction.

    voici une version un peu améliorée. les liens d'une certaine classe sont automatiquement liés à la fonction.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <html>
    <head>
    <script type="text/javascript">
    function initBackLinks()
    {
      // page cible par défaut
      var backLinksPage = 'pagecible.php';
     
      // les liens récupérés selon leur classe, icic back_link
      var backLinks = document.getElementsByClassName('back_link');
     
      // parcours des liens avec association de la fonction
      var nbBackLinks = backLinks.length;
      for (var i = 0; i < nbBackLinks; i++)
      {
        backLinks[i].onclick = function()
        {    
          return window.document.location.href =  (this.name != '' ? this.name : backLinksPage) + '?link=' + encodeURI(this.innerHTML);
        }
      }
     
      return false;
    }
     
    // qq part, il faut bien faire appel à la fonction...
    window.onload = function()
    {
      // ...
      initBackLinks();
      // ...
     
      return false;
    }
    </script>
    </head>
     
    <body>
    <p>
      <a href="#" class="back_link">mon lien</a><br/>
      <a href="#" class="back_link" name="une_autre_page.php">un autre lien</a>
    </p>
    </body>
    </html>

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    Citation Envoyé par Alvaten Voir le message
    Encore une fois ce n'est pas très clair. Qu'entend-tu pas "des liens qui sont sous formes de vidéos" ?
    Excusez moi si j'ai mal expliqué mais quand même je pense que le lien que j'ai mis rendre les choses plus claire. l'affichage serait un peu comme une liste d'images comme si chaque images est prise d'une séquence vidéo et sous chacune d'elle il y a le nom de la séquence et lorsque on clique sur le lien ou bien sur l'image cette vidéo se met en lecture dans une zone bien déterminée (bon c'est fameux dans le net).

    Pour bricecol
    mon javascript est bizzard ?
    non c'est pas ça, ce que j'ai voulu ajouter c'est seulement comment appliquer ce que vous m'avez donnez sur les frameset et le return je l'ai oublié peut être mais ça donne le même résultat avec ou sans le return. merci pour votre aide

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

Discussions similaires

  1. [Débutant] pour affecter une page à une Page Master
    Par zerkos dans le forum VB.NET
    Réponses: 0
    Dernier message: 06/07/2012, 10h45
  2. Réponses: 4
    Dernier message: 20/06/2007, 17h34
  3. [Tableaux] passer un array d'une page à une autre
    Par 18Marie dans le forum Langage
    Réponses: 5
    Dernier message: 25/06/2006, 22h42
  4. Réponses: 2
    Dernier message: 12/12/2004, 14h19

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