Bouton et appel fonction - PHP - Programmation
Marsh Posté le 12-11-2005 à 01:23:53
faut que ton form contienne ça pour rappeler la page courante : <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
Marsh Posté le 12-11-2005 à 01:35:52
Merci pour ton aide DrWatson.
En fait le problème est toujours le même, quand je lance la page, la fonction s'exécute avant même que j'ai cliqué sur le bouton
voici le code exact, si tu peux me dire ce qui bloque, ca m'aiderait beaucoup :
Code :
|
Dès que je charge la page, j'ai le message 'Ca passe' de la fonction qui s'affiche.
Il s'affiche aussi quand je clique sur le bouton et c'est bon signe. Mais j'aimerais tellement qu'il ne s'affiche que quand je clique sur le bouton
Marsh Posté le 12-11-2005 à 01:38:16
Bon, on va reposer les bases :
PHP => s'exécute sur le serveur, et sur le serveur uniquement. Ce qui veut dire qu'une fois que tu as la page devant les yeux, PHP a fini son travail et ne peut plus intervenir tant que tu ne retournes pas sur le serveur (soumission de formulaire de DrWatson) et donc tant que tu ne "recrées" pas une page.
onclick ou tout autre évenement du style => ne concerne que le client, et donc une technologie client uniquement, comme le javascript par exemple.
Marsh Posté le 12-11-2005 à 01:44:36
Arf, donc en clair je suis obligé de déplacer ma fonction dans un fichier php externe et de l'appeler via la soumission du formulaire ?
Si il n'y a pas d'autre solution, alors je vais procéder comme ca.
En tout cas merci pour vos réponses, vous êtes sympas, surtout à cette heure là
Si jamais il y a une autre solution à la portée d'un débutant, merci de m'en faire part.
Laurent
Marsh Posté le 12-11-2005 à 01:47:41
Ce que je n'arrive pas à comprendre, c'est que la fonction s'exécute à l'ouverture de la page, alors qu'elle n'est que définie à ce moment là.
J'ai rajouté la ligne de DrWatson qui permet de recharger la page et ca marche ( remerci DrWatson ). Si je pouvais seulement éviter qu'elle s'exécute toute seule à l'ouverture, ce serait parfait...
Marsh Posté le 12-11-2005 à 01:49:27
moi non plus je ne comprend pas pk ta fonction s'execute au lancement de la page, une fonction doit être appelée pour cela, est ce que tu en es bien sûr ? est ce que ton "ça passe" s'affiche au premier lancement ?
Marsh Posté le 12-11-2005 à 01:55:02
Vi, j'ai le message 'Ca passe' qui se colle en dessous du bouton au chargement de la page.
A mon avis la page se charge puis le code de la fonction s'exécute tout seul, sinon je pense que le message serait au dessus du bouton ?
Bon de toutes facons c'est pas grave, je cherche depuis la fin de la Star'Ac et j'en ai marre, donc je pose ma fonction dans un fichier externe NA !
Merci à vous
Marsh Posté le 12-11-2005 à 02:03:39
laurent_31 a écrit : Ce que je n'arrive pas à comprendre, c'est que la fonction s'exécute à l'ouverture de la page, alors qu'elle n'est que définie à ce moment là. |
Oh bon dieu, mais vous avez pris la peine de lire ce que j'ai écrit tout les deux (oui, toi aussi DrWatson) ?
PHP n'est pas un langage évenementiel, je vais essayer de simplifier le mode d'emploi (d'avance pardon aux puristes pour les erreurs) :
Bref, contrairement à ce que tu penses, la fonction n'est pas définie à l'ouverture (enfin, l'affichage) de la page mais bien avant, et à moins de poser une condition sur l'exécution de la fonction, elle s'exécutera à chaque chargement de la page.
Marsh Posté le 12-11-2005 à 02:13:05
Il est gonflé PHP, il aurait pu tenir compte du onclick, naaan mais
Merci pour ces précisions naceroth.
Marsh Posté le 12-11-2005 à 02:14:57
Bah oui, quelle burne, PHP ne lis qu'à partir du <?
Poufffffff ( soupir ), ça rentre ça rentre
Marsh Posté le 12-11-2005 à 01:08:38
Bonsoir,
Je débute dans le PHP et je m'emmèle un peu les pinceaux...
En fait j'aimerais savoir si il est possible en cliquant sur un bouton, d'appeler une fonction php qui se trouve dans la même page ?
Pour être plus clair, je commence une page avec
En fait la fonction s'exècute dès le chargement de la page ?
Bon si quelqu'un peut m'aiguiller sur la bonne voie ce serait sympa
Laurent