[Javascript] Passer des variable dans une URL

Bonjour,

J'ai une appli javascript collé dans une page HTML. A la fin de l'execution de celle-ci je souhaite automatiquement être rédirigé sur une autre page, pour cela je fais de la façon suivante :

document.location="Resultat.php3?var1="+form1.total.value;

Jusqu'ici pas de problème.
Seulement je voudrais rajoutés un certain nombre de variable a cette redirection mais ces variables sont en faites déclarés en PHP
J'ai donc fait de la façon suivante :
document.location="Resultat.php3?var1="+form1.total.value+"&var2="+$variable;

Mais cela ne marche pas.

Comment faire donc pour mélanger des variables javascript et PHP dans une URL de redirection ?
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  1. Bonjour,

    Lorsque tu regardes le code source de ta page (depuis ton navigateur), qu'est-ce qu'il y a écrit au niveau de cette ligne-là ?
    N'oublie pas que le php est interprété au niveau du serveur, c'est à dire au moment où la page est envoyée au client, AVANT l'exécution de ton javascript.
    Par ailleurs, lorsque tu mets
    document.location="Resultat.php3?var1="+form1.total.value+"&var2="+$variable;
    Es-tu dans un bloc <?php ?>, avec un "echo" devant la ligne ?
    Si non, aucune chance que $variable ne soit remplacé par sa valeur ! C'est pour ça que je te demande le code source généré. Si tu vois toujours le $variable , c'est que tu n'étais pas dans un bloc php...

    Remplace donc ton
    document.location="Resultat.php3?var1="+form1.total.value+"&var2="+$variable;
    par un
    document.location="Resultat.php3?var1="+form1.total.value+"&var2=<?= $variable ?>";

    Xavier
    1. Nickel ça marche de cette façon j'y avais pas pensé, en fait c'est logique... Merci à toi :)
  2. Contributeur
    Pour cela il faut que tu fasse une fonction javascript qui prend en paramètre une chaine de caractère représentant ton url.
    EX :

    <script language="javascript">
    function reloadPage( url ){
    document.location= url;
    }
    </script>
    
    <?php
    
    $param = "bidulle";
    $url = "Resultat.php3?var1=".$param;
    
    echo '<script language="javascript">reloadPage("'.$url.'");</script>';
    
    ?>
    


    Normalement ca devrait répondre à tes attentes.