boss183 | Bonjour à tous,
je développe une application qui contient un formulaire qui permet d'ajouter des infos, le formulaire envoie les données au fichier cible (addinfo.php). Dans ce dernier, je vérifie que les champs des formulaires sont bien remplis et que ça correspond à ce que j'attends (ex : lien web commence bien par http:// , etc...) Actuellement, mon script addinfo.php affiche le nom de l'erreur et invite l'utilisateur à retourner à la page html pour remplir le formulaire, le problème c'est qu'il doit tout retaper.
C'est pourquoi je préférerais utiliser des alertes JavaScript qui, il me semble n'effacerai pas ce que l'utilisateur a déjà écrit. Mais je ne sais pas trop où intégrer le JavaScript.
Ou si vous avez d'autres solutions : souvent lorsqu'on s'inscrit sur les sites web on ne change pas de page on a juste les champs manquants en rouge mais je ne sais pas comment faire ça.
Ci-dessous le code de mon fichier cible addinfos.php :
Code :
- <?php
- //connexion à la base de données
- //paramètres : serveur, utilisateur, mot de passe, base de données
- $link2 = DBconnect($serveur,$user,$mdp,$bdd);
- $title = addslashes($_POST['title']);
- $logiciel = addslashes($_POST['logiciel']);
- $version = addslashes($_POST['version']);
- $link = addslashes($_POST['link']);
- $description = addslashes($_POST['description']);
- if(empty($title))
- $erreur = "<P align='center'><BR><B>Veuillez saisir le titre de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
- if(empty($logiciel))
- $erreur = "<P align='center'><BR><B>Veuillez saisir le nom du logiciel / matériel !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
- if(empty($link))
- $erreur = "<P align='center'><BR><B>Veuillez saisir un lien pour l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
- if(empty($description))
- $erreur = "<P align='center'><BR><B>Veuillez saisir la description de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
- if (isset($erreur))
- {
- echo $erreur;
- }
- else
- if (preg_match("#(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#", $link))
- {
- mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')" );
- echo "<p align='center'><font size=4><BR><B>L'info suivante a bien été ajoutée :</B></FONT></P>";
- echo "<P align='center'><I><B>"."<A HREF='$link'><FONT SIZE=4>".$title."</FONT></A></B></I></P><BR><BR>";
- echo "<A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=4><P align='center'><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Ajouter une nouvelle info</B></SPAN></FONT></A></P>";
- }
- else
- {
- echo "<P align='center'><BR><B>Le lien de l'info que vous avez saisi n'est pas correct !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
- }
- mysql_close();
- ?>
|
Merci d'avance pour votre aide ! |