Inéxécution d'un code JS dans du php

[Résolu]
Signaler
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour,

Dans mon code php, j'éxécute du javascript. Le pb est que lorsque ce script n'est pas suivi par le reste du code php, celui-ci fonctionne très bien alors que dans le cas contraire, celui ci ne marche plus.

Voici mon code :

//Création d'une session
$date_time=date("Y-m-d H:i:s");
session_start();
//Ouverture de session
$_SESSION['login']=$login;
//Requete de MAJ de l'heure de début de session

$MAJ="UPDATE compte
SET Debutsession= '#$date_time#'
WHERE Login='$login'";

$queryresultat2 = mysql_query($MAJ) or die ("Impossible d'éxécuter la requête de mise a jour du debut de la session");

echo"<script LANGUAGE="JavaScript">
parent.frames["sommaire"].document.location.reload()
</script>";

if ($_SESSION['pagedest']=='vismes')
{
header("Location: visumessage.php");
}
else if ($_SESSION['pagedest']=='ecrmes')
{
header("Location: message.php");
}
else if ($_SESSION['pagedest']=='gal')
{
header("Location: AccueilGallerie.php");
}

Il y a t'il une raison à ce disfonctionnement et comment puis-je résoudre mon pb ?

Merci d'avance

10 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
essaye deja de le sortir de ton php :
ton code
...
?>
<script language="javascript" type="text/javascript">
parent.frames["sommaire"].document.location.reload()
</script>
<?php
suite avec les if()
...
?>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



tes headers ne fonctionnent plus car tu as envoyé avec echo du code html.



Met ob_start(); tout en haut de ta page et ob_end_flush(); tout en bas.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
hello,



et quelle est l'erreur au juste ?
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
En fait lorsque je ne mets pas les si qui suivent ds le code, le script JS s'éxécute sans erreurs et rafraichit la frame spécifié dans le code.
le code est alors :

//Création d'une session
$date_time=date("Y-m-d H:i:s");
session_start();
//Ouverture de session
$_SESSION['login']=$login;
//Requete de MAJ de l'heure de début de session

$MAJ="UPDATE compte
SET Debutsession= '#$date_time#'
WHERE Login='$login'";

$queryresultat2 = mysql_query($MAJ) or die ("Impossible d'éxécuter la requête de mise a jour du debut de la session");

echo"<script LANGUAGE="JavaScript">
parent.frames["sommaire"].document.location.reload()
</script>";

Lorsque je continue mon code php (avec les si...), bizarrement le script JS ne fonctionne plus puisque le rafraichissement ne se fait plus.

Merci d'avance
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
Ôui mais ce que j'ai oublié de dire c'est que ce code ce trouve lui même ds un test
{
...\\le code est là
}
je ne peux donc pas le sortir du php...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Si, tu peux, mais ce n'est pas grave.
Ca veut dire sans doute que ton test echoue, alors
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
J'ai résolu le pb en mettant le script en début de page charger par les headers ds les si.
Merci pour ton aide, je savais pas qu'on pouvait interrompre une zone { } en php...
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
Ca marche super. Merci encore...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Ca c'etait pas con lol...
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
t'inquiète on gère

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>