Javasript dans php
Résolu/Fermé
nelly39
-
19 mars 2008 à 15:45
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 20 mars 2008 à 12:21
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 20 mars 2008 à 12:21
A voir également:
- Javasript dans php
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
13 réponses
Bonjour,
As tu essayé en générant le javascript en php par echo.
<?php
$var_php= echo"<script>param.options[param.selectedIndex].value;</script>";
?>
C'est peut être pas exactement ça mais ça doit pas être loin.
Sinon tu peut essayer aussi d'envoyer un formulaire en renseignant la valeur d'un champ en js mais ça oblige à recharger la page.
As tu essayé en générant le javascript en php par echo.
<?php
$var_php= echo"<script>param.options[param.selectedIndex].value;</script>";
?>
C'est peut être pas exactement ça mais ça doit pas être loin.
Sinon tu peut essayer aussi d'envoyer un formulaire en renseignant la valeur d'un champ en js mais ça oblige à recharger la page.
Tout d'abord merci pour ta réponse.
Mais malheureusement ça ne fonctionne pas :
j'ai essayé de bidouillé...
mais quand je met $var_php à la place de ELEC dans ma requete, c'est vide.
(pourtant param.options[param.selectedIndex].value contient bien ce qu'il faut)
Pas simple...
En tout cas merci.
Si d'autres savent ???
+
Mais malheureusement ça ne fonctionne pas :
Parse error: parse error, unexpected T_ECHO in C:\Program Files\EasyPHP\www\gtravaux\travaux.php on line 21
j'ai essayé de bidouillé...
mais quand je met $var_php à la place de ELEC dans ma requete, c'est vide.
(pourtant param.options[param.selectedIndex].value contient bien ce qu'il faut)
Pas simple...
En tout cas merci.
Si d'autres savent ???
+
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
19 mars 2008 à 19:46
19 mars 2008 à 19:46
Je suis pas trop sure de mon coup mais bon, je me lance!
Dans ton code il y a un mélange de javascript et de php.
Le bout de code (javascript) dans lequel tu attribues une valeur à valeurSelec (var valeurSelec = param.options[param.selectedIndex].value;) est bien écrit avant le bout de code (php) où tu veux te resservir de cette variable.
Malheureusement, le php, exécuté côté serveur, sera exécuté AVANT le code en js qui est exécuté par le navigateur une fois la page reçue.
Donc au moment ou le serveur exécute ton code php il connait pas ta variable.
Je te conseille:
- de faire un script js et un script php distincts.
- d'envoyer, dans ton script js, par la méthode POST les variables que tu veux transmettre au script php. (avec un formulaire, par exemple)
- de récupérer ces variables dans le php avec $variable = $_POST['nom_de_la_variable_js'];
- ensuite tu pourras insérer cette variable $variable dans ta requête.
Si tu veux des détails n'hésite pas à demander.
En espérant qu'un "pro" pourra confirmer!
Bon courage!
Dans ton code il y a un mélange de javascript et de php.
Le bout de code (javascript) dans lequel tu attribues une valeur à valeurSelec (var valeurSelec = param.options[param.selectedIndex].value;) est bien écrit avant le bout de code (php) où tu veux te resservir de cette variable.
Malheureusement, le php, exécuté côté serveur, sera exécuté AVANT le code en js qui est exécuté par le navigateur une fois la page reçue.
Donc au moment ou le serveur exécute ton code php il connait pas ta variable.
Je te conseille:
- de faire un script js et un script php distincts.
- d'envoyer, dans ton script js, par la méthode POST les variables que tu veux transmettre au script php. (avec un formulaire, par exemple)
- de récupérer ces variables dans le php avec $variable = $_POST['nom_de_la_variable_js'];
- ensuite tu pourras insérer cette variable $variable dans ta requête.
Si tu veux des détails n'hésite pas à demander.
En espérant qu'un "pro" pourra confirmer!
Bon courage!
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 mars 2008 à 20:09
19 mars 2008 à 20:09
salut,
un passage rapide pour appuyer les dire de chantaussel (le lancement s'est effectué sans problème, bienvenue parmi nous !!!).
impossible directement.
l'un travail sur le PC du visiteur, l'autre sur le serveur.
tu peux faire passer de l'info par l'url et récupérer dans PHP avec '$_GET' ou utiliser l'objet XmlHttpRequest de Javascript (même principe mais sans recharger la page = Ajax).
je te conseille de regarder Ajax de plus près, je pense que c'est avec ça que tu pourra faire ce que souhaites.
un passage rapide pour appuyer les dire de chantaussel (le lancement s'est effectué sans problème, bienvenue parmi nous !!!).
récupérer une valeur javascript dans du php
impossible directement.
l'un travail sur le PC du visiteur, l'autre sur le serveur.
tu peux faire passer de l'info par l'url et récupérer dans PHP avec '$_GET' ou utiliser l'objet XmlHttpRequest de Javascript (même principe mais sans recharger la page = Ajax).
je te conseille de regarder Ajax de plus près, je pense que c'est avec ça que tu pourra faire ce que souhaites.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci de vos réponses.
Effectivement j'avais lu quelque part cette histoire de client et serveur... mais j'avais pas tout compris.
Je vais me renseigner de plus près sur Ajax. Mais n'ayant pas fait de programmation depuis 4 ans, je suis un peu larguer !!
Sinon, si par hasard vous avez un code tout pret pour 2 listes déroulantes dépendantes et surtout qui viennent d'une base de données, je suis preneuse.
En attendant Merci.
A+
Effectivement j'avais lu quelque part cette histoire de client et serveur... mais j'avais pas tout compris.
Je vais me renseigner de plus près sur Ajax. Mais n'ayant pas fait de programmation depuis 4 ans, je suis un peu larguer !!
Sinon, si par hasard vous avez un code tout pret pour 2 listes déroulantes dépendantes et surtout qui viennent d'une base de données, je suis preneuse.
En attendant Merci.
A+
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 mars 2008 à 20:45
19 mars 2008 à 20:45
lol !
genre ça ?
genre ça ?
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
19 mars 2008 à 20:52
19 mars 2008 à 20:52
Merci pour l'accueil et la confirmation dalida!
Nelly, tu devrais trouver ton bonheur ici : https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
En gros, si tu génères ta variable javacript grâce à un formulaire (ça à l'air d'être ton cas), tu devras utiliser la méthode "POST" dans ton formulaire et préciser l'url de ton script php où tu vas récupérer ta variable avec $variable_php = $_POST['varible_javascript'];
Si par contre tu n'obtiens pas ta variable par un formulaire (par exemple si le visiteur génère un variable en cliquant sur tel ou tel lien) alors tu devras utiliser XMLHttpRequest, que l'on appelle AJAX mais qui est en fait juste un bout de code javascript qui permet de dialoguer avec un script php! (enfin, je crois...). La méthode "POST" (toujours la même) sera utilisée avec ton objet XMLHttpRequest, au lieu d'être utilisée dans un formulaire. Puis dans ton php tu la récupères avec la même commande qu'au dessus, c'est tout!
Si tu as besoin de XMLHttpRequest, jette un oeil ici : http://www.commentcamarche.net/forum/affich 5494765 xmlhttprequest, je me suis un peu pris la tête dessus... et dans les derniers messages il y a des liens avec plein d'infos.
;)
Nelly, tu devrais trouver ton bonheur ici : https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
En gros, si tu génères ta variable javacript grâce à un formulaire (ça à l'air d'être ton cas), tu devras utiliser la méthode "POST" dans ton formulaire et préciser l'url de ton script php où tu vas récupérer ta variable avec $variable_php = $_POST['varible_javascript'];
Si par contre tu n'obtiens pas ta variable par un formulaire (par exemple si le visiteur génère un variable en cliquant sur tel ou tel lien) alors tu devras utiliser XMLHttpRequest, que l'on appelle AJAX mais qui est en fait juste un bout de code javascript qui permet de dialoguer avec un script php! (enfin, je crois...). La méthode "POST" (toujours la même) sera utilisée avec ton objet XMLHttpRequest, au lieu d'être utilisée dans un formulaire. Puis dans ton php tu la récupères avec la même commande qu'au dessus, c'est tout!
Si tu as besoin de XMLHttpRequest, jette un oeil ici : http://www.commentcamarche.net/forum/affich 5494765 xmlhttprequest, je me suis un peu pris la tête dessus... et dans les derniers messages il y a des liens avec plein d'infos.
;)
cool !!!
Merci pour le lien Dalida ;-) J'ai pu faire ce que je voulais.
Par contre il transforme les caractères spéciaux (genre accent aigu transformé en point d'interrogation)...
Quelqu'un sait comment remédier à ça ??
Merci :)
Merci pour le lien Dalida ;-) J'ai pu faire ce que je voulais.
Par contre il transforme les caractères spéciaux (genre accent aigu transformé en point d'interrogation)...
Quelqu'un sait comment remédier à ça ??
Merci :)
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
20 mars 2008 à 10:22
20 mars 2008 à 10:22
salut,
avant de renvoyer quelque chose en PHP il faut définir l'encodage de caractères grâce à 'header()'.
par exemple pour l'ISO 8859-1 :
avant de renvoyer quelque chose en PHP il faut définir l'encodage de caractères grâce à 'header()'.
par exemple pour l'ISO 8859-1 :
header('Content-Type: text/html; charset=ISO-8859-1');
Salut !
Apparemment ce n'est pas le souci, car j'ai cette ligne :
les caractères spéciaux ne sont pas bon seulement dans la liste déroulante que je rempli en faisant appel à ajaxNature.php
Merci
A+
Apparemment ce n'est pas le souci, car j'ai cette ligne :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Demande de travaux</title> ...
les caractères spéciaux ne sont pas bon seulement dans la liste déroulante que je rempli en faisant appel à ajaxNature.php
Merci
A+
Le problème vient de là :
Mais j'arrive pas à le transformer correctement.
Si qq'un sait?
Merci :)
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
Mais j'arrive pas à le transformer correctement.
Si qq'un sait?
Merci :)
J'ai trouvé la solution pour les problèmes d'accents :
Il faut ajouter
au début du code appelé par ajax.
Bon bin voilà, problème résolu !!
A+
Il faut ajouter
<?php header('Content-Type: text/html; charset=ISO-8859-1'); ?>
au début du code appelé par ajax.
Bon bin voilà, problème résolu !!
A+
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
20 mars 2008 à 12:21
20 mars 2008 à 12:21
lol !
je n'ai pas été assez clair !
je coche "résolu".
désolé de t'avoir fait perdre du temps et bon courage pour la suite !!!
je n'ai pas été assez clair !
je coche "résolu".
désolé de t'avoir fait perdre du temps et bon courage pour la suite !!!