cs_zakuli
Messages postés16Date d'inscriptionmardi 16 décembre 2003StatutMembreDernière intervention30 novembre 2010
-
16 déc. 2003 à 11:28
brice0306
Messages postés68Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention16 février 2006
-
11 déc. 2004 à 23:30
Bonjour,
Débutant Javascript, j'aimerai savoir s'il éxiste un moyen simple de passer une variable (issue d'une fonction javascript) à un script php.
Exemple : Récup de la résolution d'écran du navigateur du visiteur (screen.width & screen.height) pour calculer avec php la taille d'une image à éditer (issue d'une banque d'images gérée par MySQL) :)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 17 déc. 2003 à 15:04
Bonjour
j'avais pas l'air faché ! si ?
mes excuses alors, ce n'était pas mon intention
pour l'erreur normal :
javascript fait appel à quelquechose qui n'existe pas encore
met le script aprés </form>
...
javascript est un interpréteur et exécute au fur et à mesure
je ne suis guère expérimenté et je n'ai de leçons
à donner à personne.
cs_zakuli
Messages postés16Date d'inscriptionmardi 16 décembre 2003StatutMembreDernière intervention30 novembre 2010 17 déc. 2003 à 15:37
Re Bul,
A la Cyrano
Heureux : Bravo ça marche, c'est parfait !
Etonné : Pourtant je pensais qu'une déclaration de javascript ne devait se faire qu'entre les balises <head> & </head> !
Sceptique : à tel point que j'ai failli ne pas essayer !
Triste : C'est malheureux de voir à quel point on peut être optu !
Encore sceptique : Mais est ce que tu es sûr que ça marchera avec tous les navigateurs ?
Jamais content : Maintenant que tu m'as donné les clés de mon problème, connaîtrais tu une astuce qui permettre cet echange de variable dans la même page ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 17 déc. 2003 à 15:49
Bonjour
en fait avant il ne faut mettre que des function
qui seront appelées lors d'actions de l'utilisteur ou par
le corps du programme
on peut les mettre n'importe où ailleurs.
toute variable déclarée hors d'une function est accessible partout
elle est globale
celles déclarées dans une fonction sont locales
et accessible uniquement dans sa fonction
astuce qui permettre cet echange de variable
dans la même page
en javascript/php répondu avec locales et globales
et les $variable en php par appel
<form method=get .. sont globales
cs_zakuli
Messages postés16Date d'inscriptionmardi 16 décembre 2003StatutMembreDernière intervention30 novembre 2010 17 déc. 2003 à 16:23
"en javascript/php répondu avec locales et globales
et les $variable en php par appel
<form method=get .. sont globales"
Pas compris ! Mais j'ai essayé ce qui m'est passé par la tête en te lisant :
1-supprimer l'action du formulaire
2-editer les variable dans la page
Et oh étrange, un programme qui boucle !
au premier passage les variables sont vides, au second elles sont bonnes ! Mais le programme boucle toujours !
Amitiès
Zak
Si tu veux essayer, ci joint le script qui tue :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 17 déc. 2003 à 16:59
c'est normal que ça boucle
1ère fois :
on exécute javascript
qui lance "programme" de action= avec go.click
"programme" : on exécute javascript
qui lance "programme" de action= avec go.click ....
action="programme à charger pour traiter le submit"
mais je n'ai donc pas compris la question précédente
"connaîtrais tu une astuce qui permettre cet echange de variable dans la même page ?"
c'est à dire ?
dans php on dispose de $larg et $haut
en javascript de ecran.larg.value et ecran.haut.value
on en fait ce que l'on veut
pour que les choses soient bien claires :
javascript se déroule sur la machine client
et envoie ordre => serveur
PHP qui se déroule sur le serveur, reçoit l'ordre, génére du
htm/javascriot et le renvoie au client
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 18 déc. 2003 à 10:28
Bonjour
mon forfait tiscali s'arrete à 17h
je ne repond donc que maintenant
j'ai été confus dans les explications
récapépétons :
on lance un programme php ( index.php )
sur le serveur, ce PHP se déroule, génère le script, les variables $larg et $haut qui ne sont pas encore significatives, passe la main au client.
chez le client le htm/javascript généré par index.php s'exécute, on a accès à ecran.larg.value et ecran.haut.value, on en fait ce que l'on veut. avec ecran.go.click on lance sur le serveur, le programme PHP cité dans action=accueil.php par ex.
sur le serveur accueil.php est exécuté, il accéde à $larg et $haut.
pour communiquer entre javascritp et php la seule solution que je connaisse est par <form...<input.. Ca ne prouve pas qu'il n'y a pas d'autres possibilités. Faut voir sur le form PHP.
tu vois ?
le javascript pourrait appeller 2 php, je pense, mais je ne vois pas l'intérêt à priori. un php peut appeller un autre php.
dans php on peut tester les variables transmises par javascript.
pour répondre à ta question que veux-tu faire ?
je ne vois pas ce qui te gène. tu sais je suis un peu bébète et il faut m'expliquer simplement.
cs_zakuli
Messages postés16Date d'inscriptionmardi 16 décembre 2003StatutMembreDernière intervention30 novembre 2010 18 déc. 2003 à 15:59
Merci pour tes explications, elles me semblent très claires et dans mon cas présent, la solution que tu m'as donnée est parfaite.
Mais imagine que dans cette page index.php, je veuille redimensionner une image (en fonction la résolution d'écran) et que cette image ne soit accessible qu'au travers de la base de donnée gérée par php mysql, je ne pourrai le faire avec $larg et $haut qui ne sont pas chargées ni avec ecran.larg.value et ecran.haut.value qui ne seront pas reconnues dans le script php.
Quand à "tu sais je suis un peu bébète" ça a l'air d'être tout le contraire car tu as réponse à toutes mes questions aussi agaçantes les unes que les autres et je te remercie sincèrement de ta patience.
Je suis obligé maintenant de partir et ne reviendrai sur le forum que demain matin. Aussi bonne soirée
brice0306
Messages postés68Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention16 février 2006 11 déc. 2004 à 23:30
Salut fjx !
Ta méthode a l'air trèèès intéressante, seul petit hic, elle ne marche pas !
J'ai essayé de bidouller, j'ai regardé la doc des fonctions ob_xxxxx(), mais j'y arrive pas, la variable $variable ne contient pas une chaine du type "mozilla machin chose"
mais "<script language="JavaScript1.2">document.write(navigator.appName);</script>"