php javascript

php javascript - Programmation

Marsh Posté le 20-07-2001 à 11:43:57    

<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> ";
}
?>

Reply

Marsh Posté le 20-07-2001 à 11:43:57   

Reply

Marsh Posté le 20-07-2001 à 12:14:08    

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> ";  
}  
?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 20-07-2001 à 13:44:32    

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

Reply

Marsh Posté le 20-07-2001 à 15:00:05    

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> ";  
}  
?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 20-07-2001 à 15:08:14    

il reste sur Index.php??

Reply

Marsh Posté le 20-07-2001 à 15:58:39    

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 :
  1. <?
  2. // Si $TailleX existe, c'est pas la peine de demander la récup par javascript !
  3. if ( isset( $TailleX )) 
  4. // Donc, on passe directement sur pagecode.php
  5.        header("Location : pagecode.php" ); 
  6. // Sinon, récupération de la résolution
  7. else 
  8. echo"<HEAD>   
  9. <SCRIPT language='javascript'>   
  10. //fonction permettant de récupérer la taille de l'écran de l'utilisateur   
  11. function RecupTaille()   
  12. {   
  13. document.forms[0].TailleX.value = screen.width;   
  14. document.forms[0].TailleY.value = screen.height;   
  15. document.forms[0].submit();   
  16. return true;   
  17. }   
  18. </SCRIPT>   
  19. </HEAD>   
  20. <BODY onload='return RecupTaille();'>   
  21. <FORM action='pagecode.php' METHOD='POST'>   
  22. <INPUT TYPE='HIDDEN' NAME='TailleX'>   
  23. <INPUT TYPE='HIDDEN' NAME='TailleY'>   
  24. </FORM>   
  25. </BODY> "; 
  26. // La résolution est envoyée à pagecode.php qui se chargera de générer les cookies.
  27. ?>


 
et pagecode.php :

Code :
  1. <?php
  2. // Si on n'a pas la résolution, on la demande via index.php
  3. if ( ! isset( $TailleX ) ) 
  4. header("Location : pagecode.php" );
  5. // Sinon, on met la résolution en cookies pour les autres pages (et même pour index.php !)
  6. setcookie("TailleX",$TailleX); 
  7. setcookie("TailleY",$TailleY); 
  8. // A partir de là, on fait ce qu'on veut !
  9. echo ("\$Resolution = $TailleX x $TailleY<br>\n" ); 
  10. ?>


 
Bon, cette fois j'ai testé et çà marche !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 20-07-2001 à 16:52:11    

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

Reply

Marsh Posté le 20-07-2001 à 16:59:04    

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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 20-07-2001 à 17:02:22    

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?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed