php et javascript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : php et javascript

par Truc » 04 nov. 2005, 20:39

Salut, tu n'a rien a modifier tu dois juste mettre cette fonction tel quelle dans ton fichier ensuite lors de l'appel de ta fonction javascript tu dois faire ceci:
<?
$tableau= array('janvier', 'fevrier', 'mars', 'avril'); // tableau php
$nomjs= "test"; //nom du tableau js retouné /!\ mettre des guillemets

function conv_tabjs($tableau, $nomjs, $prempass=true) 
{
...// toute la fonction
}
?>
<HEAD>
<script type="text/javascript">
function tab(<? conv_tabjs($tableau,$nomjs) ?>)
{
.. //code de la fonction js
}
</script> 
</HEAD>
et ça devrai marcher :wink:

par Invité » 04 nov. 2005, 19:11

ok, je crois que j'avais mal compris le fonctionnement de la fonction...
le code que je veux supprimer
var test = new Array(4); test[0] = 'janvier'; test[1] = 'fevrier'; test[2] = 'mars'; test[3] = 'avril';

Code : Tout sélectionner

est celui qui déclare la fonction en js. je pensais que la fonction devait retourner un tableau contenu dans une variable.

par Invité » 04 nov. 2005, 18:37

si ça peut aider à mieux comprendre la fonction, le script original est ici
, avec les commentaires.

par VaN » 04 nov. 2005, 18:30

C'est peut etre à cause de cette ligne là nan ?
echo($nomjs." = ".$tableau.";\n");
genre la changer en
$nomjs = $tableau;
je tente d'apporter mon aide, si ça se trouve ç'est pas du tout ça.

par Invité » 04 nov. 2005, 18:16

Que veux-tu dire ? Je ne comprends pas.
La fonction crée bien un tableau js, donc pas de pb. mais ce tableau est affiché dans le navigateur. en gros si tu exécutes cette fonction, tu obtiendras l'affichage suivant:
var test = new Array(4); test[0] = 'janvier'; test[1] = 'fevrier'; test[2] = 'mars'; test[3] = 'avril';
la fonction n'est pas de moi, mais je veux l'intégrer dans un site web.
Donc il ne faut pas que l'utilisateur puisse voir le résulat de l'exécution de la fonction....il faut juste que je récupère "var test" pour effectuer d'autres traitement.
Le pb c'est que suis pas très bon et j'arrive pas à modifier la fonction pour qu'il n'y ait plus d'affichage, mais juste var test en sortie.

par nicolas » 04 nov. 2005, 17:20

> Que dois-je modifier pour que le tableau js soit retourné en sortie sans écrire dans la page?

Que veux-tu dire ? Je ne comprends pas.

par donatello » 04 nov. 2005, 17:00

voici la fonction que j'utilise pour convertir un tableau php en tableau js
$tableau= array('janvier', 'fevrier', 'mars', 'avril'); // tableau php
$nomjs= test; //nom du tableau js retouné

function conv_tabjs($tableau, $nomjs, $prempass=true) { 
  
    if($prempass) { 
        $taille = count($tableau); 
     
        echo "var ".$nomjs." = new Array(".$taille.");\n"; 
        foreach($tableau as $key => $val) { 
            if(is_string($key)) $key = "'".$key."'"; 
            conv_tabjs($val, $nomjs."[".$key."]", false); 
        } 
    } 
    else { 
        if(is_array($tableau)) { 
            echo($nomjs." = new Array(".count($tableau).");\n"); 
            foreach($tableau as $key => $val) { 
                if(is_string($key)) $key = "'".$key."'"; 
                conv_tabjs($val, $nomjs."[".$key."]", false); 
            } 
        } 
        else { 
            if(is_string($tableau)) $tableau = "'".addcslashes($tableau,"'")."'"; 
            echo($nomjs." = ".$tableau.";\n"); 
        } 
    } 
} 
elle marche bien mais le pb est que le tableau js retouné est écrit dans la page.
Que dois-je modifier pour que le tableau js soit retourné en sortie sans écrire dans la page?
(j'ai essayé quelques return mais je maîtrise pas assez!)

Re: php et javascript

par nicolas » 04 nov. 2005, 16:11

Bonjour à tous,
J'ai un javascript dans l'entête d'une page html, codé de manière conventionnelle:
Si tu veux le faire de manière correcte plutôt que conventionelle la syntaxe est:
<script type="text/javascript">...</script>
J'ai un autre script php qui retourne un tableau javascript.
La fonction javascript entre <head> et </head> a besoin de ce tableau pour fonctionner.
2 questions:
1-Est ce que ça pose un pb de mettre du php entre <head> et </head>?
2-Si ça ne pose pas de pb, le code php doit il être mis avant <SCRIPT language=JavaScript> ou après?
Tu peux mettre le php où tu veux à partir du moment où le code php est inclus entre <?php et ?>. Il faut bien sûr que le fichier porte l'extension php.

php et javascript

par donatello » 04 nov. 2005, 16:07

Bonjour à tous,
J'ai un javascript dans l'entête d'une page html, codé de manière conventionnelle:
<html>
<head>
<SCRIPT language=JavaScript>
<!--- fonction js -->
</SCRIPT>
</head>
J'ai un autre script php qui retourne un tableau javascript.
La fonction javascript entre <head> et </head> a besoin de ce tableau pour fonctionner.
2 questions:
1-Est ce que ça pose un pb de mettre du php entre <head> et </head>?
2-Si ça ne pose pas de pb, le code php doit il être mis avant <SCRIPT language=JavaScript> ou après?

Merci pour vos réponses.