Est ce que quelqu un peut m aider avec un code php

Est ce que quelqu un peut m aider avec un code php - PHP - Programmation

Marsh Posté le 31-03-2012 à 14:51:21    

Bonjour, je cherche desesperement de l aide sur ce forum sur un formulaire proposant l upload , mon formulaire marche tres bien j ai juste un petit soucis avec le champs upload.  
 
J ai donc fait un formulaire avec un champ nom, emil et titre et l upload, mon probleme est que je gere d un coter l upload et de l autre les champs.
 
Par exemple si les champs oublie de remplir un champs mais qu ils on remplis l upload , l upload s envoie bien sur mon serveurs, et que si maintenant les gens remplisse les champs , mais ne mette rien dans l upload le formulaire part aussi.
 
Alors que moi je voudrais que rien ne part t en que tout n ai pas remplis
 
Y a t il quelqu un qui peux m aider?
 
voici le code:
 

Code :
  1. <font size="4">
  2.     <font color="#FF0000">
  3. <center>
  4. <?php
  5. $dossier = 'resultat/';
  6. $fichier = basename($_FILES['avatar']['name']);
  7. $taille_maxi = 5000000;
  8. $taille = filesize($_FILES['avatar']['tmp_name']);
  9. $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.doc', '.docx', '..xlsx', '.xls', '.wma', '.mp3', '.wav', '.pdf', '.txt', '.avi') ;
  10. $extension = strrchr($_FILES['avatar']['name'], '.');
  11. //Début des vérifications de sécurité...
  12. if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
  13. {
  14.      $erreur = 'Vous devez uploder un fichier de type png, jpg, gif, jpeg, doc, docx, xls, xlsx, wma, mp3, wav, pdf, txt, avi <br/><br/>' ;
  15. }
  16. if($taille>$taille_maxi)
  17. {
  18.      $erreur = 'Le fichier est trop gros...';
  19. }
  20. $msg_erreur = "Attention: les champs suivants doivent être obligatoirement remplis:</font><br/>";
  21. $msg_ok = "Votre envoie a bien été prise en compte.<br/></font>
  22. Un mail a été envoyé au Théâtre Saint-Fridolin.<br/></font>";
  23. $message = $msg_erreur;
  24. define('MAIL_DESTINATAIRE', 'tsf@saint-fridolin.com'); // remplacer par votre email
  25. define('MAIL_SUJET', 'Envoie de fichier');
  26. ?>
  27. </center>
  28.         <font color="#0000FF">
  29.             <CENTER>
  30.     <?php
  31.     // vérification des champs
  32.     if (empty($_POST['Nom']))
  33.         $message .= "Veuillez indiquer votre nom<br/>";
  34.   if (empty($_POST['Nom']))
  35.         $message .= "Veuillez indiquer votre nom<br/>";
  36.     if (isset($_POST['Email'])) {
  37.         $_POST['Email'] = htmlspecialchars($_POST['Email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
  38.         if (0 === preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['Email']))
  39.             $message .= 'L\'adresse Email ' . $_POST['Email'] . ' n\'est pas valide<br/>';
  40.     }
  41.     if (isset($_POST['Emaill'])) {
  42.         $_POST['Emaill'] = htmlspecialchars($_POST['Emaill']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
  43.         if (0 === preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['Emaill']))
  44.             $message .= 'L\'adresse Email de confirmation ' . $_POST['Emaill'] . ' n\'est pas valide<br/>';
  45.     }
  46.     // si un champ est vide, on affiche le message d'erreur
  47.     if (strlen($message) > strlen($msg_erreur))
  48.         echo $message;
  49.     // sinon c'est ok
  50.     else {
  51.         foreach ($_POST as $index => $valeur)
  52.             $$index = stripslashes(trim($valeur));
  53.         //Préparation de l'entête du mail:
  54.         $mail_entete = "MIME-Version: 1.0\r\n";
  55.         $mail_entete .= "From: {$_POST['Nom']} ";
  56.         $mail_entete .= "<{$_POST['Email']}>\r\n";
  57.         $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
  58.         $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
  59.         $mail_entete .= 'X-Mailer:PHP/' . phpversion() . "\r\n";
  60.         // préparation du corps du mail
  61.         $mail_corps .= "Fichier recu\n";
  62.         $mail_corps .= "\n";
  63.         $mail_corps .= "Nom : $Nom\n";
  64.         $mail_corps .= "Email : $Email\n";
  65.         $mail_corps .= "\n";
  66.         $mail_corps .= "Les Fridolin's\n";
  67.         $mail_corps .= "\n";
  68.         $mail_corps .= "Email: tsf@saint-fridolin.com\n";
  69.         $mail_corps .= "Site: www.saint-fridolin.comn";
  70.         // Si l'envois du mail fonctionne.
  71.         if (mail(MAIL_DESTINATAIRE , MAIL_SUJET, $mail_corps, $mail_entete))
  72.             echo $msg_ok;
  73.         //Sinon si l'envois ne fonctionne pas.
  74.         else
  75.             echo "Une erreur est survenue lors de l'envoi du formulaire par email";
  76.     }
  77. if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
  78. {
  79.      //On formate le nom du fichier ici...
  80.      $fichier = strtr($fichier,
  81.           'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  82.           'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  83.      $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
  84.     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . md5(uniqid(rand(), true)) . $extension)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
  85.      {
  86.           echo 'Upload effectué avec succès !';
  87.      }
  88.      else //Sinon (la fonction renvoie FALSE).
  89.      {
  90.           echo 'Echec de l\'upload !';
  91.      }
  92. }
  93. else
  94. {
  95.      echo $erreur;
  96.     }
  97.     ?>


Message édité par fabdu68200 le 31-03-2012 à 16:29:52
Reply

Marsh Posté le 31-03-2012 à 14:51:21   

Reply

Sujets relatifs:

Leave a Replay

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