Traitement d'un formulaire php, envoi d'un fichier
Dernière réponse : dans Programmation
Bonjour,
J'ai créér un formulaire html, avec un traitement php que voici:
Ce formulaire ce nomme liens.php3
Je souhaiterai que les personne remplissant ce formulaire puisse envoyer leur banniere. Ceci di je ne sait comment traiter ce probleme.
Si possible je souhiterai aussi savoir comment empecher l'utilisateur d'envoyer le message temps qu'il n'a pas rempli les champ obligatoire du formulaire.
Voici mon formulaire html:
Merci de votre réponse.
J'ai créér un formulaire html, avec un traitement php que voici:
<?php $pseudo = $_POST['pseudo']; $mail = $_POST['mail']; $titre = $_POST['titre']; $url = $_POST['url']; $ban = $_POST['ban']; $desc = $_POST['desc']; $priorite = $_POST['priorite']; echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font></p><br><br>"); $recipient = "**********@*******.****"; $subject = "Partenaires"; $msg = "Pseudo:\t$pseudo\n"; $msg .= "E-Mail:\t$mail\n"; $msg .= "Url du site:\t$url\n"; $msg .= "Bannière:\t$ban\n"; $msg .= "Description:\t$desc\n"; $msg .= "Priorite:\t$priorite\n"; mail($recipient, $subject, $msg); ?>
Ce formulaire ce nomme liens.php3
Je souhaiterai que les personne remplissant ce formulaire puisse envoyer leur banniere. Ceci di je ne sait comment traiter ce probleme.
Si possible je souhiterai aussi savoir comment empecher l'utilisateur d'envoyer le message temps qu'il n'a pas rempli les champ obligatoire du formulaire.
Voici mon formulaire html:
<form method="post" action="liens.php3"> <table align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="57%"> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Nom ou Pseudo</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="pseudo" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>E-mail</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="mail" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Titre du site</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="titre" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Url du site</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="url" value="http://" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Bannière du site</u> :</font></td> <td width="75%"><input type="file" name="ban" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Description</u> :</font></td> <td width="75%"><textarea name="desc" rows=5 cols=30></textarea></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans Ms"><u>Priorité</u> :</font></td> <td width="75%"><select name="priorite" size="1"><option value="Haute">Haute</option><option value="Normale">Normale</option><option value="Basse">Basse</option></select></td> </tr> </table> <p align="center"><input type="reset" value="Initialiser"> <input type="submit" value="Envoyer"></p> </form>
Merci de votre réponse.
Autres pages sur : traitement formulaire php envoi fichier
Lassé par la pub ? Créez un compte
et les balises [code]
pour le banniere : soit tu proposes un champ de type file de maniere a uploader l'image sur le serveur. ensuite tu modifie le mail pour que tu saches quel fichier a ete uploader par qui. soit tu demande juste l'url du fichier image...
pour ne pas envoyer des données vides, faut simplement verifier que les données ne sont pas vides...
pour le banniere : soit tu proposes un champ de type file de maniere a uploader l'image sur le serveur. ensuite tu modifie le mail pour que tu saches quel fichier a ete uploader par qui. soit tu demande juste l'url du fichier image...
pour ne pas envoyer des données vides, faut simplement verifier que les données ne sont pas vides...
J'ai fait comme vous avez dit plus haut, mais j'ai un problème qui s'affiche quand je test le formulaire.
Mon code html n'a pas tellement changé, le voici :
Pour mon code php il en est ainsi :
Encore merci pour l'aide que vous m'apporter.
Attaque par upload potentielle. Voici plus d'informations : Voici quelques informations de déboguage :Array ( [ban] => Array ( [name] => logo.jpg [type] => image/pjpeg [tmp_name] => /mnt/sessions/phpaMdD6s [error] => 0 [size] => 1714 ) )
Mon code html n'a pas tellement changé, le voici :
<form enctype="multipart/form-data" method="post" action="liens.php3"> <table align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="57%"> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Nom ou Pseudo</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="pseudo" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>E-mail</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="mail" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Titre du site</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="titre" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Url du site</u> : <font color="#FF0000">*</font></font></td> <td width="75%"><input type="text" name="url" value="http://" size="20"></td> </tr> <tr> <td width="47%"><input type="hidden" name="MAX_FILE_SIZE" value="30000"><font color="#FFFFFF" face="Comic Sans MS"><u>Bannière du site</u> :</font></td> <td width="75%"><input type="file" name="ban" size="20"></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Description</u> :</font></td> <td width="75%"><textarea name="desc" rows=5 cols=30></textarea></td> </tr> <tr> <td width="47%"><font color="#FFFFFF" face="Comic Sans Ms"><u>Priorité</u> :</font></td> <td width="75%"><select name="priorite" size="1"><option value="Haute">Haute</option><option value="Normale">Normale</option><option value="Basse">Basse</option></select></td> </tr> </table> <p align="center"><input type="reset" value="Initialiser"> <input type="submit" value="Envoyer"></p> </form>
Pour mon code php il en est ainsi :
<?php $pseudo = $_POST['pseudo']; $mail = $_POST['mail']; $titre = $_POST['titre']; $url = $_POST['url']; $desc = $_POST['desc']; $priorite = $_POST['priorite']; $uploaddir = '/www/uploads/'; $uploadfile = $uploaddir . basename($_FILES['ban']['name']['size']['type']); echo '<pre>'; if (move_uploaded_file($_FILES['ban']['ban_part'], $uploadfile)) { echo "Le fichier est valide, et a été téléchargé avec succès. Voici plus d'informations :\n"; } else { echo "Attaque par upload potentielle. Voici plus d'informations :\n"; } echo 'Voici quelques informations de déboguage :'; print_r($_FILES); echo '</pre>'; echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font></p><br><br>"); $recipient = "demonjunior07@laposte.net"; $subject = "Partenaires"; $msg = "Pseudo:\t$pseudo\n"; $msg .= "E-Mail:\t$mail\n"; $msg .= "Url du site:\t$url\n"; $msg .= "Bannière:\t$ban\n"; $msg .= "Description:\t$desc\n"; $msg .= "Priorite:\t$priorite\n"; mail($recipient, $subject, $msg); ?>
Encore merci pour l'aide que vous m'apporter.
Je souhaiterai savoir, maintenant mon formulaire est comme ca :
Jsuis obliger de mettre ceci:
Avec un if
pour qu'on ne le voit pas tant ke les champs obligatoire ne son pas rempli?
<?php $pseudo = $_POST['pseudo']; $mail = $_POST['mail']; $titre = $_POST['titre']; $url = $_POST['url']; $desc = $_POST['desc']; $priorite = $_POST['priorite']; echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font></p> //on vérifies que le champ est bien rempli: if(!empty($_FILES["ban"]["name"])) { //nom du fichier choisi: $nomFichier = $_FILES["ban"]["name"] ; //nom temporaire sur le serveur: $nomTemporaire = $_FILES["ban"]["tmp_name"] ; //type du fichier choisi: $typeFichier = $_FILES["ban"]["type"] ; //poids en octets du fichier choisit: $poidsFichier = $_FILES["ban"]["size"] ; //code de l'erreur si jamais il y en a une: $codeErreur = $_FILES["ban"]["error"] ; //chemin qui mène au dossier qui va contenir les fichiers uplaod: $chemin = "./uploads/" ; if(copy($nomTemporaire, $chemin.$nomFichier)) echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">l'upload a réussi</font>") ; else echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">l'upload a échoué</font>") ; }//fin if else { echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Vous n'avez pas choisit de fichier!!</font>") ; echo("<a href=\"liens.html\">Retour</a>") ; }//fin else $recipient = "demonjunior07@laposte.net"; $subject = "Partenaires"; $msg = "Pseudo:\t$pseudo\n"; $msg .= "E-Mail:\t$mail\n"; $msg .= "Url du site:\t$url\n"; $msg .= "Bannière:\t$ban\n"; $msg .= "Description:\t$desc\n"; $msg .= "Priorite:\t$priorite\n"; mail($recipient, $subject, $msg); ?>
Jsuis obliger de mettre ceci:
echo("<p align=\"center\"><font face=\"Comic Sans MS\" size=\"2\"><font color=\"#FFFFFF\">Merci <font color=\"#FF0000\"><u>$pseudo</u></font>,<br>votre message a bien été envoyé.<br>Le webmaster va faire son possible pour vous vous répondre au plus vite à: <font color=\"#FF0000\"><u>$mail</u></font></font></font></p>
Avec un if
(!empty($var))
pour qu'on ne le voit pas tant ke les champs obligatoire ne son pas rempli?
euh...
1/ a balise (html) <font> est dépréciciée. faut utiliser les css...
2/ non, au fait, faut faire le traitement dans la meme page que celle qui affiche le formulaire
1/ a balise (html) <font> est dépréciciée. faut utiliser les css...
2/ non, au fait, faut faire le traitement dans la meme page que celle qui affiche le formulaire
si(toute les variables bien remplies) traitement des donnée sinon si(au moins une des variable est remplie) afficher message comme quoi, on doit tout remplir afficher formulaire
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumSystème de News PHP: trier fichiers txt
- ForumProblème d'envoi de formulaire
- Forumenvoi formulaire en javascript
- Forumprobleme d'envoi d'un formulaire
- Forum[PHP] Affichage formulaire
- ForumEnvoi fichier volumineux
- Forumafficher la suite d'un formulaire dans même frame php
- ForumQuand je veux envoyer un fichier en dss il passe en DSS XML
- ForumEnvoyer un fichier de mon pc portable a mon pc fixe
- Voir plus
deux fois que je te corriges aujourd'hui