Soyez le premier à donner votre avis sur cette source.
Snippet vu 32 495 fois - Téléchargée 27 fois
function php2js ($var) { if (is_array($var)) { $res = "["; $array = array(); foreach ($var as $a_var) { $array[] = php2js($a_var); } return "[" . join(",", $array) . "]"; } elseif (is_bool($var)) { return $var ? "true" : "false"; } elseif (is_int($var) || is_integer($var) || is_double($var) || is_float($var)) { return $var; } elseif (is_string($var)) { return "\"" . addslashes(stripslashes($var)) . "\""; } // autres cas: objets, on ne les gère pas return FALSE; }
J'ai trouvé la solution, je ne récupérais pas l'adresse de redirection ou il le fallait. Il suffit juste d'affecter la variable "url" pendant la traitement en php en non pas dans la fonction javascript placée dans le "head". J'avais oublié que le php est éxecuté côté serveur et non pas côté utilisateur. Du coup je voulais traiter une variable php qui n'existe plus côté utilisateur.
Voila mon problème est résolu.
<script type="text/javascript">
window.opener.location.href="<?php echo $adresse_retour; ?>";
setTimeout("window.close()",1000);
</script>
Et si cela en fonctionne pas, teste de la manière suivante:
echo " jnff : ".$classe_eleve; // pour être certain que tu récupères bien la page
et si ça ne marche toutjours pas, essaie de mettre l'adresse en hard:
<script type="text/javascript">
window.opener.location.href="eleve_consultation.php?classe=1C_PROE";
setTimeout("window.close()",1000);
</script>
A+
rius_ngatcha: Je n'ai aucun mérite pour le code étant donné que je l'ai récupérer sur le net mais c'est clair que la fonction de redirection après un décompte est assez simple d'utilisation.
dpantillon: Effectivement je fais un "$classe_eleve mysql_real_escape_string(htmlspecialchars($_POST['classe_eleve']));" pour récuperer de mon formulaire la classe de l'élève, je n'ai pas de problème de ce côté là, par contre là ou cela coince c'est que je n'arrive pas à faire cela "var url <?php echo $adresse_retour; ?>;" dans la fonction de redirection, sachant que ma variable $adresse_retour contient bien l'adresse de la page que je veux afficher après le décompte (ex: "eleve_consultation.php?classe=1C_PROE"), la fonction en javascript ne prend pas en compte le contenu de la variable php $adresse_retour. C'est pour cela que je me retrouve sur la page d'accueil de mon site étant donner qu'il n'a pas exécuter le "var url = <?php echo $adresse_retour; ?>;", la variable JS reste "vide". D'où vient le problème?
if (isset($_POST[classe_eleve]))
$classe_eleve=$_POST[classe_eleve];
else $classe_eleve=0;
Je tombe par hasard sur ta question.
Comment récupères-tu ta variable $classe_eleve avant de l'utiliser dans:
$adresse_retour = 'eleve_consultation.php?classe=' . $classe_eleve;
Je pense que tu la passes par POST. Tu dois donc la récupérer:
if (isset($_POST[classe_eleve]))
$classe=$_POST[classe_eleve];
else $classe=0;
Pour la tester, tu n'as qu'à faire un:
echo " jnff : ".$classe_eleve;
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.