réécriture d'1 script javascript de control d'1 balise html<div en php

réécriture d'1 script javascript de control d'1 balise html<div en php - PHP - Programmation

Marsh Posté le 04-03-2008 à 16:30:35    

Bonjour,
 
mon problème est le suivant,  
 
j'avais ecrit le petit code javascript que je vous ai mis en dessous, il me permet
suivant des navigateurs qu'on trouve aujourd'hui mais aussi des anciens IE et netscape qui existent parmi mes visiteurs de modifier le contenu de la balise <DIV> dans ma page html suivant un choix determiné par l'utilisateur en utilisant le formulaire
 
Ma question est simple, est ce que toute la partie SCRIPT en javascript ci-dessous peut elle etre réécrite exactement à l'identique dans un script PHP?
 
ou formulé autrement, les objets document.all etc.. utilisés dans les if sont ils utilisables également quand on programme en PHP, sinon comment puis je m'en sortir pour faire la meme chose que le script mais en PHP pour modifier le contenu de la div
 
Merci beaucoup a ceux qui m'apporteront leurs aides, pour cette réécriture, je connais encore assez mal le php.
 
 
--------- la div dans le fichier html-----------
<FORM method="post" action="" name="formu1">  
 
 <SELECT name="place1" onChange="change1()">  
 <OPTION selected>image1 (defaut)</option>  
 <OPTION>image2</option>  
 <OPTION>image3</option>
 <OPTION>image4</option>
 </SELECT>  
 
<DIV id="Layer1" ALIGN=CENTER>
           <IMG SRC="mon_image1.gif">
</DIV>
</FORM>
 
--------- le script javascript ----------------
<SCRIPT>  
  var nbr = 4;  
  image = new Array(nbr);  
     
     
  image[0] = "mon_image1.gif";  
  image[1] = "mon_image2.gif";
  image[2] = "mon_image3.gif";
  image[3] = "mon_image4.gif";
   
 
  function change1()  
  {
      var choi = 0;  
      for (i=0; i<nbr; i++)  
        {
   
          if (document.formu1.place1.options[i].selected)  
              {choi = i;}  
         
        }  
   
       
       
      if (document.all)  
      {    document.all.Layer1.innerHTML = '<IMG src="' + image[choi] +'".gif>';  
      }
      else  
      { if (document.layers) {  
          document.Layer1.document.open();  
          document.Layer1.document.write('<IMG src="' + image[choi] +'".gif>');  
          document.Layer1.document.close();  
                              }  
      else  
         {  if (document.getElementById)  
              { document.getElementById("Layer1" ).innerHTML = '<IMG src="' + image[choi] +'".gif>';  
              }  
         }
      }  
  }
</SCRIPT>

Reply

Marsh Posté le 04-03-2008 à 16:30:35   

Reply

Marsh Posté le 04-03-2008 à 16:47:52    

PHP est un langage vraiment complètement différent, mais à un point que tu ne t'imagines même pas, donc ça risque pas de fonctionner.
 
En plus les applications PHP sont exécutées côté serveur, alors qu'un script JavaScript est appellé côté client.
 
Donc va falloir carrément tout revoir. Déjà faire une version PHP normalle standard, puis via de l'Ajasque reproduire le comportement initial

Reply

Marsh Posté le 04-03-2008 à 18:11:36    

OK merci bien pour ta réponse FlorentG
 
je m'attendais à une réponse de ce genre, vu que j'avais cru comprendre de PHP que ce n'etait pas un langage orienté objet alors que Javascript l'est.  
 
Sinon j'avais bien aussi saisi que javascript fonctionnait coté client alors que PHP lui fonctionne coté serveur, et je pressentais bien qu'il faille tout réécrire autrement.  
 
Mais vu mes connaissances en PHP et avant de me lancer dans une totale réécriture je preferais m'en assurer afin de ne pas faire d'impair :)
 
 
 
sinon juste une question subsidiaire, au cas ou tu conniasses bien le javascript, le model de script que j'ai donné au dessus, n'a pas l'air de fonctionner sous  
   netscape 4.5 sous macOS9 (je vais en chercher un sous windows pour vois si l'OS joue un role), alors qu'il fonctionne avec tous les IE sous n'importe quel OS, des firefox, des mozilla et des netscape de version suppérieures
 
penses tu que aucun des objets utilisés ne marche dans cet environnement, ou bien que ca puisse etre du a un mauvais DOCTYPE, ou peut etre encore le type mime du script? ou autre chose auquel j'ai pas pensé ou encore peut etre qu'il n'existe pas de solution pour cet environnement ?

Reply

Marsh Posté le 04-03-2008 à 22:56:40    

PHP est aussi orienté objet (mais moins bien que JS, il manque plein de trucs intéressants).
 
Sinon, euh, comment dire... Netscape 4.5 sous OS9 [:pingouino] Je crois que le nombre d'utilisateur doit avoisinner 2 dans le monde, alors je pense qu'il ne faut pas trop se tracasser pour de la vieille technologie.

Reply

Sujets relatifs:

Leave a Replay

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