Poster un commentaire.

Poster un commentaire. - PHP - Programmation

Marsh Posté le 26-05-2007 à 20:04:03    

Bonjour à tous !
 
Alors voilà, j'ai un formulaire tout bête pour un livre
d'or avec trois champs : nom, mail et commentaire.
 
Bien sûr, j'ai un bouton de validation qui "poste" le
commentaire en l'enregistrant dans une base MySQL.
 
Seulement, j'ai deux problèmes :
1. La page ne s'actualisant pas automatiquement,  
    le message ne s'affiche qu'après actualisation  
2. Les champs "restant" dans le formulaire, lorsque  
    l'on actualise, le message est à nouveau posté !
 
Ces deux problèmes sont tout à fait normaux, mais
sauriez-vous comment je peux contourner ce  
problème ?
 
Ou sauriez-vous comment effacer mes champs et /
ou comment actualiser la page ?
 
Ou alors ouvrir une page automatiquement (en  
l'occurence, cette même page), ce qui a comme
avantage d'actualiser et d'effacter les champs  
en même temps.
 
Merci d'avance !


Message édité par Profil supprimé le 26-05-2007 à 20:08:33
Reply

Marsh Posté le 26-05-2007 à 20:04:03   

Reply

Marsh Posté le 27-05-2007 à 22:17:23    

Tout simplement, tu effectue la requête pour insérer le commentaire dans le base de donnée avant d'en afficher le contenu.
Tu es le seul à faire F5 pour actualiser les commentaires: les visiteurs 'normaux' ne vont pas actualiser...
Bonne continuation


---------------
Réviser ses verbes irréguliers d'Anglais - Quand tadkozh s'en mêle !!!
Reply

Marsh Posté le 27-05-2007 à 22:41:41    

Désolé, mais je ne comprends pas très bien
ta réponse... Quand tu parles d'effectuer la
requête avant, tu parles de quelle requête ?
Celle d'insertion du nouveau commentaire
dans la base, ou l'affichage des anciens  
commentaires ?
 
Je me suis peut-être mal exprimé : en fait,
lorsque l'utilisateur, qui viens de saisir un  
message, clique sur le bouton de validation,
je souhaite actualiser la page.
Ce problème est résolu : j'ai utilisé la fonction
javascript window.location.replace(monurl.php).
 
Donc ça, c'est bon. La page s'actualise.
Mon nouveau problème est que j'ai créé une  
ancre nommée #com au niveau du commentaire
qui vient d'être inséré, or quand j'utilise ma
fonction JS avec comme argument monurl.php#com,
ça ne fonctionne pas : il place la page actuelle
sur l'ancre #com sans recharger la page.
Ce qui a pour conséquence de ne pas m'afficher
le commentaire fraichement inséré (l'ancre #com
est alors sur "l'ancien nouveau" message, donc
l'avant-dernier).
 
Que faire ? :-)

Reply

Marsh Posté le 28-05-2007 à 10:29:01    

Ne pas utiliser Javascript (exclusivement) pour poster un formulaire, ça c'est "un formulaire tout bête" ;)
 
Après tu peux rajouter une surcouche JS qui envoie au serveur les données et récupère ce qui a été effectivement fait par le serveur (parce que ce qui est envoyé n'est pas obligatoirement accepté et validé par le serveur, enfin j'espère!) avant de l'afficher entre le dernier commentaire et le formulaire vidé de son ancien contenu (avec un message qui confirme que tout s'est bien passé, éventuellement)

Reply

Marsh Posté le 28-05-2007 à 10:35:17    

Hum... Ah ouais ! C'est bigrement malin ça !
Malheureusement, ça sort un peu du cadre
de mes compétences...!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed