Bonjour à tous,

Tout d'abord un grand merci à Grafikart pour tous les tutos et astuces que l'on peut trouver.

Je rencontre un petit problème lors d'un traitement de formulaire.
En clair j'ai une page avec plusieurs champs de saisie dans un formulaire (page.php)
<form action="save.php" method="post" enctype="multipart/form-data" name="add_proj" id="add_proj">
<p><label for="cdc">Cahier de charges</label><label><input type="file" name="cdc" id="cdc" /></label></p>
<p><label for="propal">Proposition</label><input type="file" name="propal" id="propal" /></p>
<p><label for="notif">Document de Notification</label><input type="file" name="notif" id="notif" /></p>
</form>

Comme vous pouvez le constater le traitement de celui ci est géré par un autre fichier php qui effectue certaines opérations en fonction des $_POST

Si tout les champs sont bien remplis plusieurs actions sont faites (enregistrement BDD, création de directory...) et je redirige l'internaute vers une autre page avec : header("location: "consult.php")

Par contre si le formulaire contient des erreurs je souhaite afficher un message d'erreur avec un echo

Le problème que je rencontre c'est que le message s'affiche sur une page blanche alors que je voudrais qu'il s'affiche sur la page de mon formulaire.

Merci pour votre aide

2 réponses


Insane Bob
Auteur
Réponse acceptée

Effectivement ta solution est la plus simple, je vais faire comme çà.
Merci pour ton aide

Tu peux effectuer ton traitement sur la même page que le formulaire, en vérifiant que le formulaire a été validé, éventuellement en mettant un input hidden que tu appellerais "envoye". Tu teste donc sur ta page si $_POST'envoye'] vaut bien 1, si c'est le cas, tu fais ton traitement puis redirection, si ce n'est pas le cas, alors tu affiche les erreurs, et tu peux même re remplir le formulaire avec les différentes valeurs comprises dans ton $_POST. J'espère t'avoir aidé.