|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
Bonjour,
Je sais qu'en javascript, on appelle une fonction par un bouton avec ce script : Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : mars 2006 Messages : 1 989 ![]() |
Le HTML et le javascript sont interprétés par le client. C'est pour ça que l'on peut appeler une fonction javascript dans un bouton HTML.
Le php, lui, est interprété par le serveur. Le client ne connaissant pas le php, tu ne peux pas l'exécuter à partir d'un bouton HTML. Par contre, tu peux exécuter du code javascript qui envoie une requête sur le serveur web, qui exécute du code php. Mais pour savoir ce qui pourrait te convenir, il faut que tu nous expliques ce que tu veux faire... |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
*Grillé*
En fait tu veut exécuter des scripts PHP lorsqu'on clic sur un bouton ? Le PHP doit-il retourner ou non des valeurs ? Dans tous les cas la c'est de l'AJAX qu'il faudrait utiliser ou convertir tes fonction PHP en JS si c'est possible (généralement non ).
|
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
Je vous remercie de vos réponses rapides.
>> Meliandah Je souhaite écrire en PHP plutôt qu'en Javascript parce que mon script fait appel à des fichiers .txt pour y chercher des données. Le Javascript permet-il d'accéder à des fichiers texte en lecture ? Si oui, mon problème d'utiliser un bouton pour appeler une fonction serait résolu. >> Eusèbe Voici ce que je veux faire : 1. l'utilisateur entre une réponse à une question 2. l'utilisateur clique sur un bouton "ok" qui lance une fonction de vérification de la validité de la réponse 2. la fonction en question vérifie la validité de la réponse en la comparant aux données d'un fichier texte. Si j'inclus le code de cette fonction à la suite du formulaire, le programme interprète aussitôt cette fonction avant que l'utilisateur ait entré la réponse. Afin d'obliger le programme à attendre l'entrée de l'utilisateur pour vérifier la validité de la réponse, j'ai eu l'idée de créer une fonction qui ne sera envoyée qu'après un clic sur un bouton. Merci encore de vos idées. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
>>> Eusèbe
Vous me suggérez : Par contre, tu peux exécuter du code javascript qui envoie une requête sur le serveur web, qui exécute du code php. Cela se fait comment ? Merci >>> Meliandah Vous me demandez : Le PHP doit-il retourner ou non des valeurs ? Non, pas de valeur en retour, mais un message pour l'utilisateur du type : "Erreur ! réssayez encore..." |
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Ce que tu decris est un formulaire classique :
L'utilisateur remplit des champs puis valide le formulaire. Le champs du formulaire sont envoyés a une page PHP qui les traite. |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
Merci de votre réponse.
Je vais donc procéder comme vous le dites du fait que ce que je souhaitais n'est pas possible. |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Tu peut faire un formulaire simple qui traitera la réponse et redirigera l'utilisateur non ? :o Est-ce que tu es obligé de rester sur la même page ou tu peut rafraichir et/ou partir ?
|
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
Du fait qu'il s'agit d'un exercice, l'utilisateur doit revenir sur le programme afin de poursuivre les questions. Comment se fait le retour sur la page ? Est-il automatique ou faut-il programmer une ligne de code à cet effet ?
Merci beaucoup pour l'attention que vous portez à mes questions. |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
J'ai testé des tas de choses mais rien n'est satisfaisant. Le retour à la page d'exercices ne se fait pas automatiquement. Il faut réouvrir le fichier texte de données sur la page traitant l'information du formulaire. De ce fait les lignes "question" et "réponse" ne sont plus synchro...
L'exercice proposé à l'utilisateur comporte une boucle affichant l'une après l'autre chaque ligne du fichier texte sur lequel sont enregistrés questions et réponses. L'idéal serait de contrôler la validité de la réponse utilisateur sur la page d'exercice elle-même, puis de poursuivre la boucle jusqu'à la fin du fichier texte. Est-ce que cela est impossible (auquel cas j'abandonne) ? Je vous remercie de m'éclairer. |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() ![]() Inscription : mars 2006 Messages : 1 989 ![]() |
Non ce n'est pas impossible. Ci-dessous une proposition de méthode pour le réaliser.
Tout d'abord, il faut que ton formulaire renvoie sur la même page (par exemple exercice.php). Pour simplifier le traitement, tu peux envoyer les réponses de ton formulaire au serveur dans un tableau reponses (pour ça, la propriété name des balises input des réponses doit être de la forme 'reponses[]'). Ensuite, dans ta page exercice.php, tu testes la variable $_POST['reponse'] : si la variable n'existe pas, c'est le premier accès, et tu n'affiches que la première question. Si elle existe, tu la récupères. C'est un tableau qui contient à l'indice 0 la réponse à la question 1, à l'indice 1 la réponse à la question 2, etc... Tu peux donc tester les réponses et afficher le nombre voulu de questions dans ton formulaire (en mettant les réponses validées dans des balises input non modifiables). Est-ce que c'est clair, et est-ce bien ce que tu veux faire ? |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
Je vous remercie pour votre longue réponse. C'est bien ce que je voudrais faire mais là, je suis dépassé. Je vais me contenter du javascript et inclure les données dans le code de la page.
Merci encore pour le temps que vous avez consacré à me répondre. |
|
|
00
|
|
|
#13 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Sinon oui tu peut tout traiter en javascript en mettant tes données texte dans des variables JS, tu peut les écrire avec PHP (il les écrira au tout debut et donc tu ne peut pas les changer en cour de route), sinon tu regarde du côté de l'ajax pour pouvoir executer du PHP qui te renverra les données des fichiers texte sans que sa ne rafraichisse.
|
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
Je ne connais pas du tout l'Ajax. Ce langage est-il supporté par tous les hébergeurs ? Du moins par tous les hébergeurs qui acceptent le PHP ? Ce langage est-il interprété côté serveur ou côté client ?
merci 13.05 Je suis allé visiter des sites présentant Ajax... C'est peut-être bien la solution à mon problème... Je vais m'atteler à comprendre tout ça... Merci encore pour cette piste intéressante. |
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() ![]() Inscription : mars 2006 Messages : 1 989 ![]() |
Bonjour, l'ajax n'est pas un langage, mais une méthode d'utilisation de divers éléments (javascript et XML principalement). Sauf erreur (la flemme de (re)chercher) ça signifie Asynchronous Javascript And Xml. le javascript est un langage interprété par le client, donc ça fonctionne quel que soit l'hébergeur... mais pas forcément quel que soit le navigateur
. Pour le XML, c'est simplement le format utilisé en ajax pour l'échange de données entre le client et le serveur. Le XML peut facilement être remplacé par d'autres 'systèmes' de représentation de données, comme le JSON par exemple.Côté serveur, il faut utiliser un langage qui peut représenter les données dans le format souhaité (XML, JSON, ou autre), et le php suffit largement |
|
|
00
|
|
|
#16 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Oui l'AJAX est un concept de programmation, en fait tu va simplement utiliser 1 objet JavaScript prévu à cet effet ( XhttpXmlRequest ou quelque chose du genre), donc en fait c'est du javascript. L'objet va demander une page au serveur mais au lieu que ce soit ton navigateur qui reçoive la réponse c'est cet objet JavaScript, cela te permet donc de modifier ton site dynamiquement sans aucun rechargement de page.
Pour utiliser l'AJAX très facilement je te conseil fortement d'utiliser la librarie JQuery (librarie JavaScript) |
|
|
00
|
|
|
#17 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 143 ![]() |
Merci de partager vos connaissances.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com