variable PHP prevenant du monde exterieur

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 : variable PHP prevenant du monde exterieur

par Truc » 10 août 2006, 19:22

Si ces quelques explications te conviennent n'oublis pas le [Résolu] :)

par kanafloric » 10 août 2006, 19:17

ah ben oui....

Je crois que j'ai besoin de repos.

Merci.

par Truc » 10 août 2006, 19:04

il y a quelque chose dans la variable $toto
la variable est initialisée avec :

"<script language="JavaScript">document.write(le_terme())</script>"

le echo affiche donc cette ligne dans le document HTML généré ensuite coté client le script est exéuté normalement.

Ces deux cas sont identiques :
//cas 1
<?php 
$toto='<script language="JavaScript">document.write(le_terme())</script>';
echo $toto;
?>
//cas 2
<script language="JavaScript">document.write(le_terme())</script>
Dans le cas 1 tu passes par un traitement PHP pour l'affichage c'est tout.

par kanafloric » 10 août 2006, 18:44

Oui.

Quand j'ai écrit ce truc, je me suis dit que ca ne pouvait pas marcher. Le problème, c'est qu'il y a quelque chose dans la variable $toto.

Comment diable est-ce possible ?
<?php 
$toto='<script language="JavaScript">document.write(le_terme())</script>';
echo $toto;
?>
La première ligne affecte à la variable $toto ...quelque chose qui n'est pas encore connu.
Pourtant, arrivé au client, la deuxième ligne fonctionne ! Il y a quelque chose que je ne saisis pas.

par albat » 10 août 2006, 18:16

On va dire que c'est un vieux classique...

Le PHP est interprêté côté serveur, le Javascript est exécuté côté client.
Donc le code PHP est exécuté AVANT le code Javascript.
Tout simplement.

variable PHP prevenant du monde exterieur

par kanafloric » 10 août 2006, 17:43

Salut

J'ai une variable "le_terme" créée par javascript et stockée dans une propriété de l'objet document.

Je voudrais recuperer cette propriété et l'utiliser dans du code PHP. On m'a conseillé ceci :
$toto='<script language="JavaScript">document.write(le_terme())</script>';?>
le_terme() etant simplement une fonction qui renvoie ladite valeur.

En apparence, ca marche : echo $toto me renvoie à l'écran la bonne chaine de caractère...Mais en réalité, ca ne marche pas : utilisée dans une requete MySQL, ca foire.

Quelqu'un sait pourquoi ? Apparement, on ne peut pas utiliser document.write comme si c'etait une fonction renvoyant une chaine de caractère...