j'ai un script php très simple :
<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/Paris');
setlocale(LC_CTYPE, 'fr_FR.utf-8');
if(isset($_GET['json'])) {
echo "HAVE $_GET...<br />";
print_r($_GET['json']);
echo "<pre id='pasteboard>";
[...]
MAIS, et c'est là que je ne comprends plus tout se passe "comme si"
l'éxécution du script php s'arrêtait là (càd après le
print_r($_GET['json'])).
[...]
bon, bien sûr, j'ai essayé en direct ce script par qqc comme :
<url_du_script>?json=<le json en question>
ça donne exactement là même chose...
j'ai un script php très simple :
<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/Paris');
setlocale(LC_CTYPE, 'fr_FR.utf-8');
if(isset($_GET['json'])) {
echo "HAVE $_GET...<br />";
print_r($_GET['json']);
echo "<pre id='pasteboard>";
[...]
MAIS, et c'est là que je ne comprends plus tout se passe "comme si"
l'éxécution du script php s'arrêtait là (càd après le
print_r($_GET['json'])).
[...]
bon, bien sûr, j'ai essayé en direct ce script par qqc comme :
<url_du_script>?json=<le json en question>
ça donne exactement là même chose...
j'ai un script php très simple :
<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/Paris');
setlocale(LC_CTYPE, 'fr_FR.utf-8');
if(isset($_GET['json'])) {
echo "HAVE $_GET...<br />";
print_r($_GET['json']);
echo "<pre id='pasteboard>";
[...]
MAIS, et c'est là que je ne comprends plus tout se passe "comme si"
l'éxécution du script php s'arrêtait là (càd après le
print_r($_GET['json'])).
[...]
bon, bien sûr, j'ai essayé en direct ce script par qqc comme :
<url_du_script>?json=<le json en question>
ça donne exactement là même chose...
Ça n'a rien à voir avec ton problème, mais lorsque tu réussiras à
faire fonctionner le programme PHP tu auras un problème HTML à
cause du « 'pasteboard » (une quote au début, rien à la fin).
Ça n'a rien à voir avec ton problème, mais lorsque tu réussiras à
faire fonctionner le programme PHP tu auras un problème HTML à
cause du « 'pasteboard » (une quote au début, rien à la fin).
Ça n'a rien à voir avec ton problème, mais lorsque tu réussiras à
faire fonctionner le programme PHP tu auras un problème HTML à
cause du « 'pasteboard » (une quote au début, rien à la fin).
Ça n'a rien à voir avec ton problème, mais lorsque tu réussiras à
faire fonctionner le programme PHP tu auras un problème HTML à
cause du « 'pasteboard » (une quote au début, rien à la fin).
ah ouais, j'ai rectifié, et ça roule. Belle sagacité !
c'est sans doute le html parser qui est resté bloqué sur ce manue de ' à
la fin de mon id='...
merci beaucoup, ce n'était donc pas un pb de php mais d'étourderie...
j'y suis abonné ;-)
Ça n'a rien à voir avec ton problème, mais lorsque tu réussiras à
faire fonctionner le programme PHP tu auras un problème HTML à
cause du « 'pasteboard » (une quote au début, rien à la fin).
ah ouais, j'ai rectifié, et ça roule. Belle sagacité !
c'est sans doute le html parser qui est resté bloqué sur ce manue de ' à
la fin de mon id='...
merci beaucoup, ce n'était donc pas un pb de php mais d'étourderie...
j'y suis abonné ;-)
Ça n'a rien à voir avec ton problème, mais lorsque tu réussiras à
faire fonctionner le programme PHP tu auras un problème HTML à
cause du « 'pasteboard » (une quote au début, rien à la fin).
ah ouais, j'ai rectifié, et ça roule. Belle sagacité !
c'est sans doute le html parser qui est resté bloqué sur ce manue de ' à
la fin de mon id='...
merci beaucoup, ce n'était donc pas un pb de php mais d'étourderie...
j'y suis abonné ;-)
Gnîîî ?
Parce que lorsque tu as dit que tu ne voyais pas le "<pre
id='pasteboard></pre>" dans le HTML résultant, en fait tu
n'avais pas vraiment regardé le code HTML, mais juste
espéré que le parser t'afficherait un truc ?:-(
Quand ça ne fonctionne pas, tu n'as pas la curiosité de faire
« Ctrl-U » ou « View > Source » avant de revenir au code PHP ?
Et même quand ça fonctionne, d'ailleurs !>
Gnîîî ?
Parce que lorsque tu as dit que tu ne voyais pas le "<pre
id='pasteboard></pre>" dans le HTML résultant, en fait tu
n'avais pas vraiment regardé le code HTML, mais juste
espéré que le parser t'afficherait un truc ?:-(
Quand ça ne fonctionne pas, tu n'as pas la curiosité de faire
« Ctrl-U » ou « View > Source » avant de revenir au code PHP ?
Et même quand ça fonctionne, d'ailleurs !
>
Gnîîî ?
Parce que lorsque tu as dit que tu ne voyais pas le "<pre
id='pasteboard></pre>" dans le HTML résultant, en fait tu
n'avais pas vraiment regardé le code HTML, mais juste
espéré que le parser t'afficherait un truc ?:-(
Quand ça ne fonctionne pas, tu n'as pas la curiosité de faire
« Ctrl-U » ou « View > Source » avant de revenir au code PHP ?
Et même quand ça fonctionne, d'ailleurs !>
Parce que lorsque tu as dit que tu ne voyais pas le "<pre
id='pasteboard></pre>" dans le HTML résultant, en fait tu
n'avais pas vraiment regardé le code HTML, mais juste
espéré que le parser t'afficherait un truc ?:-(
Quand ça ne fonctionne pas, tu n'as pas la curiosité de faire
« Ctrl-U » ou « View > Source » avant de revenir au code PHP ?
Et même quand ça fonctionne, d'ailleurs !
ben si, évidemment, je regardais les éléments html et ne voyais pas
affiché le pre, j'ai posté que tout se passait "comme si" le php
s'arrêtait là.
le "comme si" indiquait que je n'en étais pas sûr.
maintenant je suis très étonné qu'un parser s'arrête là-dessus vu qu'il
referme, par ailleurs, les balises non fermées.
ceci dit j'ai eu ce comportement avec plusieurs navigateurs, ce qui m'a
confirmé dans mon hypothèse d'un pb côté php.
euh je regarde toujours ce qui se passe à la console et au niveau des
éléments html.
Parce que lorsque tu as dit que tu ne voyais pas le "<pre
id='pasteboard></pre>" dans le HTML résultant, en fait tu
n'avais pas vraiment regardé le code HTML, mais juste
espéré que le parser t'afficherait un truc ?:-(
Quand ça ne fonctionne pas, tu n'as pas la curiosité de faire
« Ctrl-U » ou « View > Source » avant de revenir au code PHP ?
Et même quand ça fonctionne, d'ailleurs !
ben si, évidemment, je regardais les éléments html et ne voyais pas
affiché le pre, j'ai posté que tout se passait "comme si" le php
s'arrêtait là.
le "comme si" indiquait que je n'en étais pas sûr.
maintenant je suis très étonné qu'un parser s'arrête là-dessus vu qu'il
referme, par ailleurs, les balises non fermées.
ceci dit j'ai eu ce comportement avec plusieurs navigateurs, ce qui m'a
confirmé dans mon hypothèse d'un pb côté php.
euh je regarde toujours ce qui se passe à la console et au niveau des
éléments html.
Parce que lorsque tu as dit que tu ne voyais pas le "<pre
id='pasteboard></pre>" dans le HTML résultant, en fait tu
n'avais pas vraiment regardé le code HTML, mais juste
espéré que le parser t'afficherait un truc ?:-(
Quand ça ne fonctionne pas, tu n'as pas la curiosité de faire
« Ctrl-U » ou « View > Source » avant de revenir au code PHP ?
Et même quand ça fonctionne, d'ailleurs !
ben si, évidemment, je regardais les éléments html et ne voyais pas
affiché le pre, j'ai posté que tout se passait "comme si" le php
s'arrêtait là.
le "comme si" indiquait que je n'en étais pas sûr.
maintenant je suis très étonné qu'un parser s'arrête là-dessus vu qu'il
referme, par ailleurs, les balises non fermées.
ceci dit j'ai eu ce comportement avec plusieurs navigateurs, ce qui m'a
confirmé dans mon hypothèse d'un pb côté php.
euh je regarde toujours ce qui se passe à la console et au niveau des
éléments html.
Tant qu'une chaîne de caractères ouverte par ' n'est pas refermée par
un autre ' je ne vois pas comment il pourrait détecter qu'on est censé
être sorti de la chaîne.
Tant qu'une chaîne de caractères ouverte par ' n'est pas refermée par
un autre ' je ne vois pas comment il pourrait détecter qu'on est censé
être sorti de la chaîne.
Tant qu'une chaîne de caractères ouverte par ' n'est pas refermée par
un autre ' je ne vois pas comment il pourrait détecter qu'on est censé
être sorti de la chaîne.
J'ai l'impression qu'on ne se comprend pas, et ce serait bien qu'on
se comprenne pour la prochaine fois que tu auras un problème.
Dans le premier cas, si c'est PHP qui s'arrête, tu ne dois pas
avoir les caractères '<', 'p', 'r', 'e', etc. dans le code*source*
HTML, code qui est*produit* par PHP.
Dans le second cas, si tu as fait une erreur dans le code HTML,
ces caractères doivent être présents dans le code*source* HTML,
simplement ça ne t'affiche rien dans le navigateur.
Sais-tu au moins ce qu'est le code source HTML et comment l'afficher ?
J'ai l'impression qu'on ne se comprend pas, et ce serait bien qu'on
se comprenne pour la prochaine fois que tu auras un problème.
Dans le premier cas, si c'est PHP qui s'arrête, tu ne dois pas
avoir les caractères '<', 'p', 'r', 'e', etc. dans le code*source*
HTML, code qui est*produit* par PHP.
Dans le second cas, si tu as fait une erreur dans le code HTML,
ces caractères doivent être présents dans le code*source* HTML,
simplement ça ne t'affiche rien dans le navigateur.
Sais-tu au moins ce qu'est le code source HTML et comment l'afficher ?
J'ai l'impression qu'on ne se comprend pas, et ce serait bien qu'on
se comprenne pour la prochaine fois que tu auras un problème.
Dans le premier cas, si c'est PHP qui s'arrête, tu ne dois pas
avoir les caractères '<', 'p', 'r', 'e', etc. dans le code*source*
HTML, code qui est*produit* par PHP.
Dans le second cas, si tu as fait une erreur dans le code HTML,
ces caractères doivent être présents dans le code*source* HTML,
simplement ça ne t'affiche rien dans le navigateur.
Sais-tu au moins ce qu'est le code source HTML et comment l'afficher ?
Tant qu'une chaîne de caractères ouverte par ' n'est pas refermée par
un autre ' je ne vois pas comment il pourrait détecter qu'on est censé
être sorti de la chaîne.
>ceci dit j'ai eu ce comportement avec plusieurs navigateurs, ce qui m'a
>confirmé dans mon hypothèse d'un pb côté php.
Tu dois apprendre à ne pas faire d'hypothèse avant d'avoir*vu* le
HTML (code source) plutôt que ses effets.
>euh je regarde toujours ce qui se passe à la console et au niveau des
>éléments html.
Je ne suis pas sûr qu'on ait la même notion de « regarder au niveau des
éléments HTML ». Ou plutôt, il faudrait que tu puisses « regarder au
niveau des caractères composant le code HTML ».
Tant qu'une chaîne de caractères ouverte par ' n'est pas refermée par
un autre ' je ne vois pas comment il pourrait détecter qu'on est censé
être sorti de la chaîne.
>ceci dit j'ai eu ce comportement avec plusieurs navigateurs, ce qui m'a
>confirmé dans mon hypothèse d'un pb côté php.
Tu dois apprendre à ne pas faire d'hypothèse avant d'avoir*vu* le
HTML (code source) plutôt que ses effets.
>euh je regarde toujours ce qui se passe à la console et au niveau des
>éléments html.
Je ne suis pas sûr qu'on ait la même notion de « regarder au niveau des
éléments HTML ». Ou plutôt, il faudrait que tu puisses « regarder au
niveau des caractères composant le code HTML ».
Tant qu'une chaîne de caractères ouverte par ' n'est pas refermée par
un autre ' je ne vois pas comment il pourrait détecter qu'on est censé
être sorti de la chaîne.
>ceci dit j'ai eu ce comportement avec plusieurs navigateurs, ce qui m'a
>confirmé dans mon hypothèse d'un pb côté php.
Tu dois apprendre à ne pas faire d'hypothèse avant d'avoir*vu* le
HTML (code source) plutôt que ses effets.
>euh je regarde toujours ce qui se passe à la console et au niveau des
>éléments html.
Je ne suis pas sûr qu'on ait la même notion de « regarder au niveau des
éléments HTML ». Ou plutôt, il faudrait que tu puisses « regarder au
niveau des caractères composant le code HTML ».
Oui et non, enfin, je veux dire que je regarde plutôt que le code
source, ce qui est une erreur dans ce cas, je regarde à "Inspecter
l'élément", qui ne me donne pas la même chose que le code source.
Oui et non, enfin, je veux dire que je regarde plutôt que le code
source, ce qui est une erreur dans ce cas, je regarde à "Inspecter
l'élément", qui ne me donne pas la même chose que le code source.
Oui et non, enfin, je veux dire que je regarde plutôt que le code
source, ce qui est une erreur dans ce cas, je regarde à "Inspecter
l'élément", qui ne me donne pas la même chose que le code source.
Dans le premier cas, si c'est PHP qui s'arrête, tu ne dois pas
avoir les caractères '<', 'p', 'r', 'e', etc. dans le code*source*
HTML, code qui est*produit* par PHP.
ben, en fait c'est ça, je viens tout juste de répéter mon erreur.
le php s'arrête à la ligne :
echo "<pre id='pasteboard>";
c'est-à-dire celle où il *manque* un caractère comme tu me l'as fait
remarqué.
Dans le second cas, si tu as fait une erreur dans le code HTML,
ces caractères doivent être présents dans le code*source* HTML,
simplement ça ne t'affiche rien dans le navigateur.
euh, je n'avais posté que du php, mon erreur est bien côté php (manque
un ' de fermeture d'attribut).
MAIS le php est affiché dans un iframe (cf + bas).
[...]
le code source de ma page, tel que lu dans mon éditeur de texte :
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>send_JS_2_php</title>
<script>
var iframeElt, pasteboard;
window.addEventListener('load', start, false);
function start(e) {
console.log("start(e)");
pasteboard = {firstname: 'Alfred', lastname: 'Hitchcock'};
iframeElt = document.createElement('iframe');
iframeElt.setAttribute('id', 'send_JS_2_php')
iframeElt.setAttribute('name', 'send_JS_2_php')
iframeElt.setAttribute('style', 'width: 450px;height: 250px;')
document.body.appendChild(iframeElt);
iframeElt.setAttribute('src', "send_JS_2_php.php?json=" +
JSON.stringify(pasteboard));
}
</script>
</head>
<body>
<h3><a
href='http://stackoverflow.com/questions/8191124/send-javascript-variable-to-php-variable'>send
javaScript variable to php variable</a></h3>
</body>
</html>
Par contre, le code source tel qu'affiché dans le navigateur (Inspecter
l'élément > Élément) lui est différent puisque l'iframe y est présent :
[...]
<iframe id="send_JS_2_php" name="send_JS_2_php" style="width:
450px;height: 250px;"
src="send_JS_2_php.php?json={"firstname":"Alfred","lastname":"Hitchcock"}"></iframe></body></html>
MAIS avec un body du #document contenu dans l'iframe *vide* (dans le cas
où volontairement j'ai répété mon erreur de '.
(donc contrairement à ce que je pensais précédemment, ce n'est pas côté
html que ça bloque mais côté php).
Bon, je trouve curieux que php ne transmette pas du html invalide, je ne
savais pas ça.
Dans le premier cas, si c'est PHP qui s'arrête, tu ne dois pas
avoir les caractères '<', 'p', 'r', 'e', etc. dans le code*source*
HTML, code qui est*produit* par PHP.
ben, en fait c'est ça, je viens tout juste de répéter mon erreur.
le php s'arrête à la ligne :
echo "<pre id='pasteboard>";
c'est-à-dire celle où il *manque* un caractère comme tu me l'as fait
remarqué.
Dans le second cas, si tu as fait une erreur dans le code HTML,
ces caractères doivent être présents dans le code*source* HTML,
simplement ça ne t'affiche rien dans le navigateur.
euh, je n'avais posté que du php, mon erreur est bien côté php (manque
un ' de fermeture d'attribut).
MAIS le php est affiché dans un iframe (cf + bas).
[...]
le code source de ma page, tel que lu dans mon éditeur de texte :
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>send_JS_2_php</title>
<script>
var iframeElt, pasteboard;
window.addEventListener('load', start, false);
function start(e) {
console.log("start(e)");
pasteboard = {firstname: 'Alfred', lastname: 'Hitchcock'};
iframeElt = document.createElement('iframe');
iframeElt.setAttribute('id', 'send_JS_2_php')
iframeElt.setAttribute('name', 'send_JS_2_php')
iframeElt.setAttribute('style', 'width: 450px;height: 250px;')
document.body.appendChild(iframeElt);
iframeElt.setAttribute('src', "send_JS_2_php.php?json=" +
JSON.stringify(pasteboard));
}
</script>
</head>
<body>
<h3><a
href='http://stackoverflow.com/questions/8191124/send-javascript-variable-to-php-variable'>send
javaScript variable to php variable</a></h3>
</body>
</html>
Par contre, le code source tel qu'affiché dans le navigateur (Inspecter
l'élément > Élément) lui est différent puisque l'iframe y est présent :
[...]
<iframe id="send_JS_2_php" name="send_JS_2_php" style="width:
450px;height: 250px;"
src="send_JS_2_php.php?json={"firstname":"Alfred","lastname":"Hitchcock"}"></iframe></body></html>
MAIS avec un body du #document contenu dans l'iframe *vide* (dans le cas
où volontairement j'ai répété mon erreur de '.
(donc contrairement à ce que je pensais précédemment, ce n'est pas côté
html que ça bloque mais côté php).
Bon, je trouve curieux que php ne transmette pas du html invalide, je ne
savais pas ça.
Dans le premier cas, si c'est PHP qui s'arrête, tu ne dois pas
avoir les caractères '<', 'p', 'r', 'e', etc. dans le code*source*
HTML, code qui est*produit* par PHP.
ben, en fait c'est ça, je viens tout juste de répéter mon erreur.
le php s'arrête à la ligne :
echo "<pre id='pasteboard>";
c'est-à-dire celle où il *manque* un caractère comme tu me l'as fait
remarqué.
Dans le second cas, si tu as fait une erreur dans le code HTML,
ces caractères doivent être présents dans le code*source* HTML,
simplement ça ne t'affiche rien dans le navigateur.
euh, je n'avais posté que du php, mon erreur est bien côté php (manque
un ' de fermeture d'attribut).
MAIS le php est affiché dans un iframe (cf + bas).
[...]
le code source de ma page, tel que lu dans mon éditeur de texte :
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>send_JS_2_php</title>
<script>
var iframeElt, pasteboard;
window.addEventListener('load', start, false);
function start(e) {
console.log("start(e)");
pasteboard = {firstname: 'Alfred', lastname: 'Hitchcock'};
iframeElt = document.createElement('iframe');
iframeElt.setAttribute('id', 'send_JS_2_php')
iframeElt.setAttribute('name', 'send_JS_2_php')
iframeElt.setAttribute('style', 'width: 450px;height: 250px;')
document.body.appendChild(iframeElt);
iframeElt.setAttribute('src', "send_JS_2_php.php?json=" +
JSON.stringify(pasteboard));
}
</script>
</head>
<body>
<h3><a
href='http://stackoverflow.com/questions/8191124/send-javascript-variable-to-php-variable'>send
javaScript variable to php variable</a></h3>
</body>
</html>
Par contre, le code source tel qu'affiché dans le navigateur (Inspecter
l'élément > Élément) lui est différent puisque l'iframe y est présent :
[...]
<iframe id="send_JS_2_php" name="send_JS_2_php" style="width:
450px;height: 250px;"
src="send_JS_2_php.php?json={"firstname":"Alfred","lastname":"Hitchcock"}"></iframe></body></html>
MAIS avec un body du #document contenu dans l'iframe *vide* (dans le cas
où volontairement j'ai répété mon erreur de '.
(donc contrairement à ce que je pensais précédemment, ce n'est pas côté
html que ça bloque mais côté php).
Bon, je trouve curieux que php ne transmette pas du html invalide, je ne
savais pas ça.