cookies : php et javascript

cookies : php et javascript - PHP - Programmation

Marsh Posté le 23-02-2003 à 12:27:13    

Bonjour,
 
Les cookies créés par javascript sont-ils modifiables par php, il y a-t-il compatibilité ?
 
Merci bien à ceux qui voudront m'éclairer.

Reply

Marsh Posté le 23-02-2003 à 12:27:13   

Reply

Marsh Posté le 23-02-2003 à 12:43:19    

Que tu le crées à la main, avec du js, avec de l'asp, ou autre, un cookie c'est un cookie point.
 

Citation :

sur php-script ils sont plus sympas

:lol:


---------------
...oups kernel error...
Reply

Marsh Posté le 23-02-2003 à 13:35:00    

Bon voici mon problème, je comprends pas pourquoi ça ne marche pas... alors soyez gentils je débute en php/javascript, je connais rien  :(  
 
code.php => à insérer dans chaque page, il controle l'affichage ou non de pup.php en fonction de la valeur d'un cookie (BANNIERE)
 
pub.php => affiche une iframe, crée un cookie BANNIERE avec un javascript onclick
 
edit : le problème vient de la création du cookie qui n'a pas lieu avec onclick=creercookie(); dans pub.php, mais pourquoi.. je ne sais pas  :(
 
code.php :

Code :
  1. <HTML><HEAD>..</HEAD><BODY>
  2. <?
  3. if($_COOKIE["BANNIERE"]!="click" )       
  4.     {
  5. printf("<table width=\"468\" height=\"60\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td>
  6. <IFRAME NAME=publicite SRC=pub.php width=468 height=60 MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no>
  7. </td></tr></table>" );
  8.     }
  9. ?>
  10. </BODY></HTML>


 
pub.php :

Code :
  1. <HTML><HEAD>
  2. <SCRIPT language=javascript type=text/javascript>
  3. function creercookie(){
  4. var Nom = "BANNIERE";
  5. var Contenu="click";
  6. var expdate = new Date ();
  7. expdate.setTime (expdate.getTime() + (21600000)) ;
  8. document.cookie = Nom + "=" + Contenu + "; expires=" + expdate.toGMTString();
  9. }
  10. </SCRIPT>
  11. </HEAD>
  12. <BODY>
  13. <table width="468" height="60" border="0" cellspacing="0" cellpadding="0">
  14.   <tr onclick=creercookie();>
  15.     <td><IFRAME></IFRAME></td>
  16.   </tr>
  17. </table>
  18. </BODY></HTML>


 
edit :
ces pages sont hébérgées dans un même répertoire "pub"
http://mathsforum.membres.jexiste.org/pub
(si ça peut vous apporter des renseignements supplémentaires  :??: )


Message édité par getoman33 le 23-02-2003 à 13:48:09
Reply

Marsh Posté le 23-02-2003 à 13:37:28    

les cookies crées sont accessibles par n'importe quel langage coté serveur, tant que c'est le même domaine.
 
Par exemple si ton site c'est pwet.org, côté serveur tu peut seulement modifier/accéder aux cookies de pwet.org, par n'importe quelle méthode

Reply

Marsh Posté le 23-02-2003 à 14:11:33    

Vaut-il mieux faire du tout php ?
Qu'est ce qui ne va pas dans mon javascript ?
 
up  :sweat:

Reply

Marsh Posté le 23-02-2003 à 14:15:47    

si tu peut le faire en php fait le, ca t'évite d'obliger le client a avoir javascript activé pour utiliser ton site, et ca t'évite de devoir gérer l'éventualitée que le javascript n'est pas activé chez le client

Reply

Marsh Posté le 23-02-2003 à 14:20:33    

- onclick sur un <TR> ça fct ?
- vérifie la syntaxe de création de ton cookie en javascript.
le cookie est-il créé sur ton disque ?
- affiches  
echo $_COOKIE['BANNIERE'];
echo $HTTP_COOKIE_VAR['BANNIERE'];
echo $BANNIERE;
 
 
 


---------------
...oups kernel error...
Reply

Marsh Posté le 23-02-2003 à 14:29:55    

j'ai remarqué que :
 
si je remplace onclick par onmouseover ça marche
 
donc je me dis qu'en cliquant dessus, peut-être ça n'a pas "le temps" de créer le cookie ?
 
donc en gros : le problème vient de l'onclick()

Reply

Marsh Posté le 23-02-2003 à 14:31:52    

si ton cookie n'est pas créé sur ton disque, oui cela ne peut provenir que de là.
essaye de mettre le onclick sur le <TD>, voir même sur le <IFRAME...> plutôt que sur le <TR>.


---------------
...oups kernel error...
Reply

Marsh Posté le 23-02-2003 à 14:35:13    

mise à jour des scripts :
code.php :

Code :
  1. <HTML><HEAD><SCRIPT language=javascript type=text/javascript>
  2. function creercookie(){
  3. var Nom = "BANNIERE";
  4. var Contenu="click";
  5. var expdate = new Date ();
  6. expdate.setTime (expdate.getTime() + (21600000)) ;
  7. document.cookie = Nom + "=" + Contenu + "; expires=" + expdate.toGMTString();
  8. }
  9. </SCRIPT>
  10. </HEAD><BODY>
  11. <?
  12. if($_COOKIE["BANNIERE"]!="click" )         
  13.    { 
  14. printf("<table width=\"468\" height=\"60\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td onmouseover=creercookie();>
  15. <IFRAME NAME=publicite SRC=pub.php width=468 height=60 MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no>
  16. </td></tr></table>" );
  17.    }
  18. ?>
  19. </BODY></HTML>

 
 
 
 
pub.php :  

Code :
  1. <HTML><HEAD>
  2. </HEAD>
  3. <BODY>
  4. <table width="468" height="60" border="0" cellspacing="0" cellpadding="0">
  5. <tr>
  6.    <td><IFRAME></IFRAME></td>
  7. </tr>
  8. </table>
  9. </BODY></HTML>

 
 
 
là ça marche, mais je veux un onclick

Reply

Marsh Posté le 23-02-2003 à 14:35:13   

Reply

Marsh Posté le 23-02-2003 à 14:51:00    

c'est bon ça marche...
(j'ai un peu modifié le code, pour ne plus avoir d'iframe)

Reply

Sujets relatifs:

Leave a Replay

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