FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Traitement d'un formulaire php, envoi d'un fichier
 

Traitement d'un formulaire php, envoi d'un fichier

Il y a 383 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Traitement d'un formulaire php, envoi d'un fichier
 
Plus d'informations

Bonjour,
 
J'ai créér un formulaire html, avec un traitement php que voici:
 

Code :
  1. <?php
  2. $pseudo = $_POST['pseudo'];
  3. $mail = $_POST['mail'];
  4. $titre = $_POST['titre'];
  5. $url = $_POST['url'];
  6. $ban = $_POST['ban'];
  7. $desc = $_POST['desc'];
  8. $priorite = $_POST['priorite'];
  9. 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>" );
  10. $recipient = "**********@*******.****";
  11. $subject = "Partenaires";
  12. $msg = "Pseudo:\t$pseudo\n";
  13. $msg .= "E-Mail:\t$mail\n";
  14. $msg .= "Url du site:\t$url\n";
  15. $msg .= "Bannière:\t$ban\n";
  16. $msg .= "Description:\t$desc\n";
  17. $msg .= "Priorite:\t$priorite\n";
  18. mail($recipient, $subject, $msg);
  19. ?>


 
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:  
 

Code :
  1. <form method="post" action="liens.php3">
  2. <table align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="57%">
  3.       <tr>
  4.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Nom ou Pseudo</u> : <font color="#FF0000">*</font></font></td>
  5.         <td width="75%"><input type="text" name="pseudo" size="20"></td>
  6.       </tr>
  7.       <tr>
  8.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>E-mail</u> : <font color="#FF0000">*</font></font></td>
  9.         <td width="75%"><input type="text" name="mail" size="20"></td>
  10.       </tr>
  11.       <tr>
  12.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Titre du site</u> : <font color="#FF0000">*</font></font></td>
  13.         <td width="75%"><input type="text" name="titre" size="20"></td>
  14.       </tr>
  15.       <tr>
  16.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Url du site</u> : <font color="#FF0000">*</font></font></td>
  17.         <td width="75%"><input type="text" name="url" value="http://" size="20"></td>
  18.       </tr>
  19.       <tr>
  20.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Bannière du site</u> :</font></td>
  21.         <td width="75%"><input type="file" name="ban" size="20"></td>
  22.       </tr>
  23.       <tr>
  24.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Description</u> :</font></td>
  25.         <td width="75%"><textarea name="desc" rows=5 cols=30></textarea></td>
  26.       </tr>
  27.       <tr>
  28.         <td width="47%"><font color="#FFFFFF" face="Comic Sans Ms"><u>Priorité</u> :</font></td>
  29.         <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>
  30.      </tr>
  31.     </table>
  32.     <p align="center"><input type="reset" value="Initialiser">
  33.     <input type="submit" value="Envoyer"></p>
  34. </form>


 
Merci de votre réponse.


Message édité par Helrod le 24-10-2005 à 01:26:39

Profil : Pointeur
Plus d'informations

et les balises [code] :fou:
 
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...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Merci, mais comment je fait pr uploader un fichier sur le server.

Profil : Pointeur
Plus d'informations

tu met un <imput type="file" />  
ensuite tu recupere les infos dans $_FILE[]


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

KangOl a écrit :

tu met un <input type="file" />  
ensuite tu recupere les infos dans $_FILE[]


 :o deux fois que je te corriges aujourd'hui  :ange:  

Profil : Pointeur
Plus d'informations

bon, je vais aller nettoyer mes lunettes moi...
 
enfin, je pense qu'il aurai quand meme corrigé de lui meme au lieu de copier betement :o


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Profil : Pointeur
Plus d'informations
Plus d'informations

Merci de votre aide!

Plus d'informations

J'ai fait comme vous avez dit plus haut, mais j'ai un problème qui s'affiche quand je test le formulaire.
 

Code :
  1. Attaque par upload potentielle. Voici plus d'informations :
  2. Voici quelques informations de déboguage :Array
  3. (
  4.     [ban] => Array
  5.         (
  6.             [name] => logo.jpg
  7.             [type] => image/pjpeg
  8.             [tmp_name] => /mnt/sessions/phpaMdD6s
  9.             [error] => 0
  10.             [size] => 1714
  11.         )
  12. )


 
Mon code html n'a pas tellement changé, le voici :
 

Code :
  1. <form enctype="multipart/form-data" method="post" action="liens.php3">
  2. <table align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="57%">
  3.       <tr>
  4.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Nom ou Pseudo</u> : <font color="#FF0000">*</font></font></td>
  5.         <td width="75%"><input type="text" name="pseudo" size="20"></td>
  6.       </tr>
  7.       <tr>
  8.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>E-mail</u> : <font color="#FF0000">*</font></font></td>
  9.         <td width="75%"><input type="text" name="mail" size="20"></td>
  10.       </tr>
  11.       <tr>
  12.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Titre du site</u> : <font color="#FF0000">*</font></font></td>
  13.         <td width="75%"><input type="text" name="titre" size="20"></td>
  14.       </tr>
  15.       <tr>
  16.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Url du site</u> : <font color="#FF0000">*</font></font></td>
  17.         <td width="75%"><input type="text" name="url" value="http://" size="20"></td>
  18.       </tr>
  19.       <tr>
  20.         <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>
  21.         <td width="75%"><input type="file" name="ban" size="20"></td>
  22.       </tr>
  23.       <tr>
  24.         <td width="47%"><font color="#FFFFFF" face="Comic Sans MS"><u>Description</u> :</font></td>
  25.         <td width="75%"><textarea name="desc" rows=5 cols=30></textarea></td>
  26.       </tr>
  27.       <tr>
  28.         <td width="47%"><font color="#FFFFFF" face="Comic Sans Ms"><u>Priorité</u> :</font></td>
  29.         <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>
  30.      </tr>
  31.     </table>
  32.     <p align="center"><input type="reset" value="Initialiser">
  33.     <input type="submit" value="Envoyer"></p>
  34. </form>


 
 
Pour mon code php il en est ainsi :
 

Code :
  1. <?php
  2. $pseudo = $_POST['pseudo'];
  3. $mail = $_POST['mail'];
  4. $titre = $_POST['titre'];
  5. $url = $_POST['url'];
  6. $desc = $_POST['desc'];
  7. $priorite = $_POST['priorite'];
  8. $uploaddir = '/www/uploads/';
  9. $uploadfile = $uploaddir . basename($_FILES['ban']['name']['size']['type']);
  10. echo '<pre>';
  11. if (move_uploaded_file($_FILES['ban']['ban_part'], $uploadfile)) {
  12.    echo "Le fichier est valide, et a été téléchargé
  13.            avec succès. Voici plus d'informations :\n";
  14. } else {
  15.    echo "Attaque par upload potentielle. Voici plus d'informations :\n";
  16. }
  17. echo 'Voici quelques informations de déboguage :';
  18. print_r($_FILES);
  19. echo '</pre>';
  20. 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>" );
  21. $recipient = "demonjunior07@laposte.net";
  22. $subject = "Partenaires";
  23. $msg = "Pseudo:\t$pseudo\n";
  24. $msg .= "E-Mail:\t$mail\n";
  25. $msg .= "Url du site:\t$url\n";
  26. $msg .= "Bannière:\t$ban\n";
  27. $msg .= "Description:\t$desc\n";
  28. $msg .= "Priorite:\t$priorite\n";
  29. mail($recipient, $subject, $msg);
  30. ?>


 
Encore merci pour l'aide que vous m'apporter.

Plus d'informations

les <font> et les "\ c'est laid  :non:

Profil : Pointeur
Plus d'informations

et verifie la facon dont tu recupere les infos de ton fichier...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Comment ca la facon?

Profil : Pointeur
Plus d'informations

les lignes 9 et 12 sont completement fausses...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

et quel est le problème sur ces lignes?

Profil : Pointeur
Plus d'informations

bha réfléchi !
fait un echo de ton $uploadfile et tu verras...
de meme avec ton move_uploaded_file, regarde ce qui tu lui passe...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Le problème c'est que c'est mon premier formulaire en php. Je ne connais pas encore toute les combine pour bien réussir.
Pouvez m'aider à comprendre ce ki ne marche pas?

Profil : Pointeur
Plus d'informations

a tu fais ce que j'ai dit ?
ca t'aiderais a comprendre tes erreurs...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations