Bonjour à tous,
J'ai un formulaire qui permet d'envoyer dans une base de données des comptes rendus. La partie envoi du formulaire, le contrôle du fichier PDF joint (taille, extension) et ajout dans la base de données fonctionne parfaitement. Le problème commence quand l'utilisateur n'envoie pas le bon format PDF (ou un PDF trop gros).
J'affiche un message d'erreur et on retourne en Javascript à la page précédent, mais le formulaire est vide, l'utilisateur doit tout retaper ! ! !
J'ai dans un premier temps supprimé l'option autocomplete="off" de ma balise <form>. Le formulaire est à nouveau rempli mais il ne tient pas compte des valeurs que je lui passe en $_SESSION pour mettre le titre en majuscules par exemple...Le problème ne semble pas lié au formulaire en lui même car même si je cherche à afficher les valeurs transmises à la page avec un 'echo', celle-ci ne s'affichent que si je fais un F5 !
Pouvez vous me dire d'où vient mon problème ?
Existe t-il un moyen plus simple (ou plus propre) de gérer ce genre de traitement. J'avais pensé à une seule page, mais compte tenu de la complexité de le partie code qui vérifie le fichier PDF j'ai abandonné !
Merci d'avance !
LE FORMULAIRE
LA PAGE DE TRAITEMENT :
6 réponses
Je vais retravailler ma page pour que l'utilisateur n'attende pas 3 minutes que son PDF trop volumineux
ne soit pas uploadé et qu'un message d'erreur le renvoi sur la page précédente !
Je vais m'inspirer du tuto de Grafikart (Gestion d'un espace membre) pour le traitement du formulaire
sur une seule page et le transfert du PDF (si valide) sur une deuxième....
Merci !
La page rappellée en JavaScript ne semble pas rechargée mais réaffichée et un
n'y change rien !
Salut,
Pourquoi tu fait une redirection via javascript ? et non avec php ? sachant que ton code est généralement du php
Pour ton problème de session, ta bien déclaré en haut de ta page :
Car sinon tes sessions ne se sauvegarde pas lors de rafraichissements de pages.
Merci CenT, ça fonctionne impeccablement !
Je pensais que header était une instruction qui ne pouvait se trouver qu'en toute première ligne
de code PHP d'une page, je ne pensais pas que l'on puisse la mettre au beau millieu d'une condition !
(J'avais bien mis session_start(); en début de page !)
J'en profite pour remettre mon autocomplete="off" et corriger mon oubli dans mes input (value=" ....") :
Merci beaucoup !
Content d'avoir pu t'aider ;)