[Résolu] Formulaire d'upload et obligation de remplir toutes les cases

Formulaire d'upload et obligation de remplir toutes les cases [Résolu] - PHP - Programmation

Marsh Posté le 10-03-2004 à 20:34:21    

J'ai un formulaire en PHP et je voudrais que les 2 cases du formulaire qui sont "Pseudo" et "Fichier à envoyer :" soit rempli et que si ses cases sont pas rempli ça fasse arrête le script et fasse une erreur du genre "merci de remplir toutes les cases".
Est ce que quelqun pourrait m'aider simplement à completer le code avec la syntaxe qui ferait ça ?
 
 
Voilà le code
 
 

Code :
  1. <?php
  2. // ------------------------------------------------------------------------- //
  3. if(!$sent):
  4. ?>
  5. <link href="style.css" rel="stylesheet" type="text/css"/>
  6. <FORM METHOD="post" ACTION="<? echo $PHP_SELF; ?>" ENCTYPE="multipart/form-data">
  7. <table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse" bordercolor="#C0C0C0" id="table1" width="100%">
  8. <tr>
  9. <td width="138"><font size="2">Pseudo :</font></td>
  10. <td>
  11. <INPUT NAME="pseudo" TYPE="text" MAXLENGTH="20" SIZE="20"></td>
  12. </tr>
  13. <tr>
  14. <td width="138"><font size="2">Fichier à envoyer :</font></td>
  15. <td>
  16. <INPUT TYPE="file" NAME="source_file" SIZE="50">
  17. <INPUT TYPE="submit" VALUE="Go !">
  18. <INPUT TYPE="hidden" NAME="sent" VALUE="1"></td>
  19. </tr>
  20. </table>
  21. </FORM>
  22. <?
  23. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  24. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  25. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  26. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  27. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  28. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  29. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  30. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  31. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  32. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  33. JE VOUDRAIS QUE LA VERIFICATION QUE LES CASES SOIT BIEN REMPLI SE FASSE ICI
  34. /* ----- DEBUT DU MODULE FTP ----- */
  35. // Adresse FTP du serveur ne commençant pas par ftp://
  36. $ftp_server = "127.0.0.1";
  37. // Login
  38. $ftp_user_name = "login";
  39. // Mot de passe
  40. $ftp_user_pass = "pass";
  41. // création de la connexion
  42. $conn_id = ftp_connect("$ftp_server" );
  43. // authentification avec nom de compte et mot de passe
  44. $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);
  45. // vérification de la connexion
  46. if ((!$conn_id) || (!$login_result))
  47. {
  48. echo "<FONT CLASS=\"erreur\">La connexion FTP a échoué!<BR>";
  49. echo "Tentative de connexion à ",$ftp_server," avec",$ftp_user_name,"</FONT>";
  50. die;
  51. }
  52. else
  53. {
  54. echo "Connecté à <B>",$ftp_server,"</B>, avec <B>",$ftp_user_name,"</B><P>";
  55. }
  56. // téléchargement d'un fichier
  57. $file = $HTTP_POST_FILES[source_file];
  58. $upload = ftp_put($conn_id,$file[name],$source_file,FTP_BINARY);
  59. // Vérification de téléchargement
  60. if(!$upload)
  61. {
  62. echo "<FONT CLASS=\"erreur\">Le téléchargement FTP a échoué !</FONT><P>";
  63. }
  64. else
  65. {
  66. echo "Voici les informations concernant le fichier que vous avez uploadé :<BR>";
  67. echo "Pseudo : ",$pseudo,"<BR>";
  68. echo "Téléchargement de ",$file[name]," sur ",$ftp_server,"<BR>";
  69. echo "Type : ",$file[type],"<BR>";
  70. echo "Taille : ",ceil($file[size] / 1024)," ko<BR>";
  71. echo "Erreur : ",$file[error],"<BR>";
  72. }
  73. // fermeture de la connexion FTP.
  74. ftp_quit($conn_id);
  75. endif;
  76. /* ----- FIN DU FTP ----- */
  77. ?>


Message édité par Masenko le 11-03-2004 à 15:07:40
Reply

Marsh Posté le 10-03-2004 à 20:34:21   

Reply

Marsh Posté le 10-03-2004 à 21:16:48    

Un petit code javescript qui véifie que tous les champs soient bien remplis me semble idéal.
 
http://www.editeurjavascript.com/tips/tips_form_01.php


---------------
http://www.i-concours.net
Reply

Marsh Posté le 10-03-2004 à 21:19:23    

nan pas en javascript c'est pas bon du tout car ça n'arrete pas le script php

Reply

Marsh Posté le 10-03-2004 à 21:45:16    

alors <?
if($pseudo!=""||$file!="" )
{
/*ton script ici*/
}else
{
echo "merci de remplir toutes les cases";
}
?>


Message édité par SoftMaster le 10-03-2004 à 22:19:35

---------------
http://www.i-concours.net
Reply

Marsh Posté le 10-03-2004 à 21:45:48    

mais je pense que j'ai pas bien compris ce que tu voulais faire.


---------------
http://www.i-concours.net
Reply

Marsh Posté le 10-03-2004 à 21:50:35    

C'est bon j'ai trouvé ;)
 
 if(empty($_POST['pseudo']) OR empty($_FILES['source_file']['name']))
 
    {  
 
 echo("Toutes les cases sont obligatoire !<br>" ) ;
 echo("<a href=\"javascript:history.back(1)\">Retour</a>" ) ;
 
    }  
 
et ensuite rajouter un else qui va de ici a en bas du script
 
else
{
puis tout en bas
}
?>
 
voilà ;) et ça fonctionne a merveille

Reply

Marsh Posté le 10-03-2004 à 22:14:06    

Oui mais ca te fait un aller/retour serveur pour rien, la solution de SoftMaster te fait ca en client donc c plus optimisé.

Reply

Marsh Posté le 10-03-2004 à 22:30:40    

Ouais mais j'aime bien ;)
 
Sinon vous savez comment faire pour qu'on puisse uploader seulement des fichiers avec l'extension .mp3 par exemple ?

Reply

Marsh Posté le 10-03-2004 à 23:22:06    

javascipt ;)


---------------
http://www.i-concours.net
Reply

Marsh Posté le 10-03-2004 à 23:27:43    

ouais mais le javascript va pas verifié si le fichier mp3 est bien un fichier de type audio/mpeg alors c plutot génant ;)

Reply

Marsh Posté le 10-03-2004 à 23:27:43   

Reply

Marsh Posté le 10-03-2004 à 23:31:16    

très juste


---------------
http://www.i-concours.net
Reply

Marsh Posté le 11-03-2004 à 10:31:31    

Je fais ca pour vérifier quel type d'image on m'envoie :
 
$typef=$_FILES['file']['type'];
if ($typef == "image/x-png" )
{ un png...}
 
Je sais pas quel code il renvoie pour un mp3, à toi de voir...

Reply

Marsh Posté le 11-03-2004 à 15:05:49    

J'ai fait ça moi :
 
 

Code :
  1. if ($_FILES['source_file']['type']!="audio/mpeg" )
  2. {
  3.  echo("Ce fichier n'est pas un MP3.<br>" ) ;
  4.  echo("<a href=\"javascript:history.back(1)\">Retour</a>" ) ;
  5.  exit;
  6. }

Reply

Marsh Posté le 11-03-2004 à 15:11:59    

Ben c'est niquel alors :)

Reply

Marsh Posté le 11-03-2004 à 15:17:27    

Ouep niquel à part qu ça verifie pas si le fichier mp3 est bel et bien un fichier mp3.
 
Je m'explique, si on à un fichier portant n'importe quelle extension du genre "*.bmp, *.exe, *.nimporte" et qu'on renomme l'extension en *.mp3 on va tout de même pouvoir uploader le fichier car ça verifie pas la validité du fichier.
 
y a une solution pour ça ?

Reply

Marsh Posté le 11-03-2004 à 15:24:19    

Euuuh à part lire l'entête du fichier et voir si ca correspond à un mp3, je vois pas...

Reply

Marsh Posté le 11-03-2004 à 15:41:12    

Je crois qu'il existe
setValidExtensions() avec SetFiles() mais il y a trop peu d explication, meme sur google ou php.net ou nexen... alors c'est dur

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed