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

PHP & Base de données Discussion :

Redirection PHP + variable


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Redirection PHP + variable
    Bonjour,

    J'ai une page (search.php) dans laquel je déclare une variable $URL (contenant une url).

    Dans cette page, je crée un lien vers une page sarch2.php...


    Et sur la page Search2.php, je souhaites créer une redirection... Pour cela, je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header("Location: \''.$URL.'\'");
    Mais ça ne marche pas...

    Est ce que quelqu'un aurait une idée ?

    Merci d'avance.

  2. #2
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Points : 283
    Points
    283
    Par défaut
    Quelle est la valeur de $ActualURL ?
    Elle est déclarée où ?

  3. #3
    Membre habitué Avatar de lalouve
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 128
    Points : 145
    Points
    145
    Par défaut
    Je pense que sans les ' dans ton appel à la fonction header cela devrait fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header("Location: $URL");
    if (navigator.geolocation) { //do your magic }

  4. #4
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Points : 283
    Points
    283
    Par défaut
    Tu as bien passé la valeur de $URL à search2 ?

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut euh
    euh, je ne suis pas sûr... comment je dois faire ?

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    voilà l'erreur que j'ai quand je fais ça :
    header("Location: $URL");
    Warning: Cannot modify header information - headers already sent by (output started at /home.2/creditfi/www/tracking.php:3) in /home.2/creditfi/www/tracking.php on line 9

  7. #7
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Points : 283
    Points
    283
    Par défaut
    Le header doit se trouver en premier dans la page.

    Pour envoyer la variable URL tu peux faire un champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" value=$URL />

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    non, ça ne marche tjrs pas comme ça

  9. #9
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par baudmail
    voilà l'erreur que j'ai quand je fais ça :
    header("Location: $URL");
    Warning: Cannot modify header information - headers already sent by (output started at /home.2/creditfi/www/tracking.php:3) in /home.2/creditfi/www/tracking.php on line 9
    Tipoun te l'a dis : la fonction header doit se trouver et s'executer avant n'importe quel autre code HTML.

    donc tu dois l'executer sans avoir fait de print, echo ou affichage de <html><head> par exemple. oki ??

  10. #10
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Points : 283
    Points
    283
    Par défaut
    Normalement tu devrais arriver au final à un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: <a href="http://www.developpez.net/forums/");" target="_blank">http://www.developpez.net/forums/");</a>


    Donc tu veux passer une variable au header.
    Il faut pouvoir la transmettre à l'autre page, donc dans ton formulaire de recherche tu met un champ hidden avec pour valeur $URL, et avec pour nom... bé un nom .

    Dans search2.php tu met comme header :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: $_POST['nom.du.champ.hidden']");

  11. #11
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    essaye avec ça :
    <script language='javascript'>
    document.location = 'ta_page'
    </script>

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 71
    Points
    71
    Par défaut all ready send
    Hello,

    Header doit se trouver avant les en-tete HTML et avant toutes inscriptions de contenu.

    Pour cela afin d'etre sur de mon coup en cas d'affichage d'erreur PHP ou MySQL qui inscrirait du texte sur ma page avant mon code de redirection, j'utilise cette petit fonction bien pratique.

    function lb_redirect($url)
    {
    if (headers_sent())
    {
    printf("<meta http-equiv=\"refresh\" content=\"0;URL=%s\">",$url);
    }
    else
    {
    header("Location: $url");
    }
    }



    voili voilou

    O.FOSTIER
    Ni dieu Ni maitre

  13. #13
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Alors là... je calle vraiment...

    avec ce bout de code, il ne redirige nul part, alors que quand je fait un echo
    il m'écrit bien l'url en entier...

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 71
    Points
    71
    Par défaut Tu devrais essayer
    si tu as toujours le:
    Warning: Cannot modify header information - headers already sent by ...

    c'est que tu essai d'inscrire du contenu (Erreur Mysql ou php, print, printf , echo , .... etc.)

    avant le Header !?

    prends la fonction ca marche a tous les coups

  15. #15
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Se serait tout de même mieux de régler le problème à la source.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 71
    Points
    71
    Par défaut Oui éffectivement
    Tu as raison...

    As tu encore un message d'erreur ??
    Ou la redirection ne fonctione tout simplement pas ?

    Montre nous ton code.

  17. #17
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    J'ai une boucle :

    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
     
    for($i=0;$i<count($MVAResult["Position"]);$i++)
         {
          $count       = count($MVAResult["Position"]);
          $Mresult     = $MVAResult['Mresult'][$i];
          $Position    = $MVAResult['Position'][$i];
          $URL   = $MVAResult['URL'][$i];
          $ImageURL    = $MVAResult['ImageURL'][$i];
          $Title       = $MVAResult['Title'][$i];
          $Description = $MVAResult['Description'][$i];
          $ShowURL     = formatURL($MVAResult['ShowURL'][$i],0);
     
           $URL = str_replace("&","%26",$URL);
         $wipubURL ="http://www.credit-financement.info/tracking.php?URL=$URL";
    $URL = $wipubURL.$URL;
    Dans cette boucle, je fais un lien vers $URL dans lequel j'ai mon code de redirection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $sOutPutHTML = $sOutPutHTML .'            <td align="left" valign="top" style="text-align:left; margin-left: 10px; padding:15px;"><a onMouseOver="self.status=\''.$ShowURL.'\'; return true" onMouseOut="self.status=\'\'; return true" href="'.$URL.'" target="_blank"> <b>'.$Title.'</b></a><br>';
    et voilà le code de redirection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     <?
     function lb_redirect($URL)
    {
     if (headers_sent())
        {
         printf("<meta http-equiv=\"refresh\" content=\"0;URL=%s\">",$URL);
         }
    else
    {
    header("Location: $URL");
    }
    }
    ?>
    Mais ça morche po...

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 71
    Points
    71
    Par défaut Oupppps
    dans aucun de tes codes tu ne fais appel a une fonction de redirection (header ou autre) mais tu as juste un lien <a href> !!?

    donc forcement ca peut pas marcher si tu ne click pas dessus

    pour info utilise les marqueur php comme ceci
    <?php
    ...
    ...
    ?>
    It's better like that...

  19. #19
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    mais tu coup, je dois faire comment ?
    ou je dois mettre la fonction de redirection ?

  20. #20
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Tu souhaites envoyer l'utilisateur sur la page dont il aura cliquer le lien ? Ou le rediriger abitrairement sur une page ?

    Dans le premier modifie ton attribut target en _self au lieu de _blank. Dans le second cas, vers quel page souhaites tu le rediriger car il semble que tu crées plusieurs url.

Discussions similaires

  1. pb redirection constante, variable session vide
    Par ben_skywalker dans le forum Langage
    Réponses: 6
    Dernier message: 14/02/2007, 16h43
  2. Session php variable
    Par Greggggggg dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2006, 09h00
  3. [SQL] PhP Variable
    Par boo64 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 03/05/2006, 14h49
  4. Redirection PHP autre que dans un Reader
    Par gwen-al dans le forum Langage
    Réponses: 5
    Dernier message: 18/01/2006, 12h25
  5. [Mail] *PHP* |Variables| Mauvaise syntaxe
    Par jilibi dans le forum Langage
    Réponses: 18
    Dernier message: 15/11/2005, 18h16

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