excuse sorry c'est de ma faute j'essai de faire des tests partout et j'oublie des echo avant
par contre pour mon histoir excel tu sais?
Mara's dad
Il dit que c'est en ligne 1 qu'un output fout le merdier.
En ligne 1, y'a :
<?php
J'ai vu que chez toi tu utilise le short tag <? au lieu de <?php
C'est peut-être çà !
Sinon, montre moi exactement ta version de pagecode.php si c'est pas EXACTEMENT la même que moi !
bob2674
moi il me met un erreur
Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\test\pagecode.php:1) in c:\program files\easyphp\www\test\pagecode.php on line 7
Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\test\pagecode.php:1) in c:\program files\easyphp\www\test\pagecode.php on line 8
$Resolution = 1024 x 768
Mara's dad
Non, il reste pas sur index.php !
Simplement, en faisant :
setcookie("Resolution","$TailleX,$TailleY" ); et
header("Location : pagecode.php" ); dans le même script, le cookie n'est pas envoyé au client puisque la page est redirigée tout de suite. Donc:
index.php :
Code :
<?
// Si $TailleX existe, c'est pas la peine de demander la récup par javascript !
if ( isset( $TailleX ))
// Donc, on passe directement sur pagecode.php
header("Location : pagecode.php" );
// Sinon, récupération de la résolution
else
{
echo"<HEAD>
<SCRIPT language='javascript'>
//fonction permettant de récupérer la taille de l'écran de l'utilisateur
function RecupTaille()
{
document.forms[0].TailleX.value = screen.width;
document.forms[0].TailleY.value = screen.height;
document.forms[0].submit();
returntrue;
}
</SCRIPT>
</HEAD>
<BODY onload='return RecupTaille();'>
<FORM action='pagecode.php' METHOD='POST'>
<INPUT TYPE='HIDDEN' NAME='TailleX'>
<INPUT TYPE='HIDDEN' NAME='TailleY'>
</FORM>
</BODY> ";
}
// La résolution est envoyée à pagecode.php qui se chargera de générer les cookies.
?>
et pagecode.php :
Code :
<?php
// Si on n'a pas la résolution, on la demande via index.php
if ( ! isset( $TailleX ) )
header("Location : pagecode.php" );
// Sinon, on met la résolution en cookies pour les autres pages (et même pour index.php !)
setcookie("TailleX",$TailleX);
setcookie("TailleY",$TailleY);
// A partir de là, on fait ce qu'on veut !
echo ("\$Resolution = $TailleX x $TailleY<br>\n" );
?>
Bon, cette fois j'ai testé et çà marche !
bob2674
il reste sur Index.php??
Mara's dad
Heu, oui, c'est normal ! il faut pas d'echo, print ou tout code HTML avant un appel à header !
Là çà devrait marcher !
<? if ( isset( $TailleX ))
{
setcookie("Resolution","$TailleX,$TailleY" );
// echo"je suis là";
header("Location : pagecode.php" );
}
else
{
echo"<HEAD> <SCRIPT language='javascript'> //fonction permettant de récupérer la taille de l'écran de l'utilisateur
function RecupTaille() { document.forms[0].TailleX.value = screen.width; document.forms[0].TailleY.value = screen.height; document.forms[0].submit(); return true; } </SCRIPT> </HEAD> <BODY onload='return RecupTaille();'> <FORM action='index.php' METHOD='POST'> <INPUT TYPE='HIDDEN' NAME='TailleX'> <INPUT TYPE='HIDDEN' NAME='TailleY'> </FORM> </BODY> ";
}
?>
bob2674
j'ai cetet erreur là?
Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\test\index.php:4) in c:\program files\easyphp\www\test\index.php on line 5
Mara's dad
Ben çà à l'air de marcher.
Bon, juste une remarque, faut bien quand même, non ?
Pourquoi envoyer la fonction javascript au 2éme passage ?
<? if ( isset( $TailleX )) { setcookie("Resolution","$TailleX,$TailleY" ); echo"je suis là"; header("Location : pagecode.php" ); } else { echo"<HEAD>
<SCRIPT language='javascript'>
//fonction permettant de récupérer la taille de l'écran de l'utilisateur function RecupTaille()
{
document.forms[0].TailleX.value = screen.width;
document.forms[0].TailleY.value = screen.height;
document.forms[0].submit();
return true;
}
</SCRIPT>
</HEAD>
<BODY onload='return RecupTaille();'>
<FORM action='index.php' METHOD='POST'>
<INPUT TYPE='HIDDEN' NAME='TailleX'>
<INPUT TYPE='HIDDEN' NAME='TailleY'>
</FORM>
</BODY> "; } ?>
bob2674
<HEAD> <SCRIPT language='javascript'> //fonction permettant de récupérer la taille de l'écran de l'utilisateur
function RecupTaille() { document.forms[0].TailleX.value = screen.width; document.forms[0].TailleY.value = screen.height; document.forms[0].submit(); return true; } </SCRIPT> <? if ( isset( $TailleX ))
{
setcookie("Resolution","$TailleX,$TailleY" );
echo"je suis là";
header("Location : pagecode.php" );
}
else
{
echo" </HEAD> <BODY onload='return RecupTaille();'> <FORM action='index.php' METHOD='POST'> <INPUT TYPE='HIDDEN' NAME='TailleX'> <INPUT TYPE='HIDDEN' NAME='TailleY'> </FORM> </BODY> ";
}
?>