13-09-2010, 01:36 PM
(13-09-2010, 01:23 PM)gameprog2 a écrit : Dans une page HTML, j'ai un formulaire, avec un pseudo à saisir, en faisant submit() (j'ai appris que c'était comme ça qu'il fallait faire pour passer les données à php), la page php reçoit la variable pseudo, elle fait des tests dessus, puis je voudrais qu'un message utilisateur soit affiché tout en gardant la page html visible aux yeux du joueur.
je pense que la difficulté de compréhension communication vient de là, alors je m'essaie à une explication ^^
pour faire ce que tu dis il y a deux solutions que je pense simple à mettre en place
1) sans ajax :
ta page / formulaire HTML est générée par un script php
lorsque l'utilisateur "submit()" il rappelle le même script php.
dans ce script, avant de construire le formulaire tu testes les variables postées pour savoir si on a répondu ou non au formulaire
si on n'a pas répondu au formulaire, tu l'affiches vierge
si on a répondu au formulaire, tu réalises tes tests sur la variables pseudo,
si il y a un problème, tu affiches le formulaire avec les valeurs déjà postées (histoire de pas tout se retaper pour l'utilisateur) et tu rajoutes en plus un div avec ton message d'erreur
si il n'y a pas de problème, tu n'affiches pas le formulaire mais tu passes à la suite
=> à noter, c'est là où on aura intérêt à découper le script php en plusieurs morceaux, le script php appelé qui teste et inclue tel ou tel composant (exemple formulaire)
2) avec ajax
ta page / formulaire HTML possède du javascript. Ton bouton submit n'appelle pas une page php mais une fonction javascript
cette fonction javascript va lancer un appel en ajax à un script php qui testera la valeur de ton pseudo et renverra au javascript un retour ok / pas ok. Le retour (xml ou json ou texte, fonction de ce qui te semble le plus simple à manier) est alors traité par le javascript :
si le retour est ok, tu lances la page suivante (normalement un script php qui génère une page html après avoir sauvegardé les informations du formulaire)
si le retour est ko, tu crées (ou affiche si tu l'avais prévu avant mais caché) un div avec le message d'erreur
perso, je te conseille dans un premier temps de le faire sans ajax, déjà pour ressentir le mécanisme entre page web et script php et aussi découpage du code php (mon "a noter")