fabdu68200 | 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 :
- <font size="4">
- <font color="#FF0000">
- <center>
- <?php
- $dossier = 'resultat/';
- $fichier = basename($_FILES['avatar']['name']);
- $taille_maxi = 5000000;
- $taille = filesize($_FILES['avatar']['tmp_name']);
- $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.doc', '.docx', '..xlsx', '.xls', '.wma', '.mp3', '.wav', '.pdf', '.txt', '.avi') ;
- $extension = strrchr($_FILES['avatar']['name'], '.');
- //Début des vérifications de sécurité...
- if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
- {
- $erreur = 'Vous devez uploder un fichier de type png, jpg, gif, jpeg, doc, docx, xls, xlsx, wma, mp3, wav, pdf, txt, avi <br/><br/>' ;
- }
- if($taille>$taille_maxi)
- {
- $erreur = 'Le fichier est trop gros...';
- }
- $msg_erreur = "Attention: les champs suivants doivent être obligatoirement remplis:</font><br/>";
- $msg_ok = "Votre envoie a bien été prise en compte.<br/></font>
- Un mail a été envoyé au Théâtre Saint-Fridolin.<br/></font>";
- $message = $msg_erreur;
- define('MAIL_DESTINATAIRE', 'tsf@saint-fridolin.com'); // remplacer par votre email
- define('MAIL_SUJET', 'Envoie de fichier');
- ?>
- </center>
- <font color="#0000FF">
- <CENTER>
- <?php
- // vérification des champs
- if (empty($_POST['Nom']))
- $message .= "Veuillez indiquer votre nom<br/>";
- if (empty($_POST['Nom']))
- $message .= "Veuillez indiquer votre nom<br/>";
- if (isset($_POST['Email'])) {
- $_POST['Email'] = htmlspecialchars($_POST['Email']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
- if (0 === preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['Email']))
- $message .= 'L\'adresse Email ' . $_POST['Email'] . ' n\'est pas valide<br/>';
- }
- if (isset($_POST['Emaill'])) {
- $_POST['Emaill'] = htmlspecialchars($_POST['Emaill']); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
- if (0 === preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['Emaill']))
- $message .= 'L\'adresse Email de confirmation ' . $_POST['Emaill'] . ' n\'est pas valide<br/>';
- }
- // si un champ est vide, on affiche le message d'erreur
- if (strlen($message) > strlen($msg_erreur))
- echo $message;
- // sinon c'est ok
- else {
- foreach ($_POST as $index => $valeur)
- $$index = stripslashes(trim($valeur));
- //Préparation de l'entête du mail:
- $mail_entete = "MIME-Version: 1.0\r\n";
- $mail_entete .= "From: {$_POST['Nom']} ";
- $mail_entete .= "<{$_POST['Email']}>\r\n";
- $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
- $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
- $mail_entete .= 'X-Mailer:PHP/' . phpversion() . "\r\n";
- // préparation du corps du mail
- $mail_corps .= "Fichier recu\n";
- $mail_corps .= "\n";
- $mail_corps .= "Nom : $Nom\n";
- $mail_corps .= "Email : $Email\n";
- $mail_corps .= "\n";
- $mail_corps .= "Les Fridolin's\n";
- $mail_corps .= "\n";
- $mail_corps .= "Email: tsf@saint-fridolin.com\n";
- $mail_corps .= "Site: www.saint-fridolin.comn";
- // Si l'envois du mail fonctionne.
- if (mail(MAIL_DESTINATAIRE , MAIL_SUJET, $mail_corps, $mail_entete))
- echo $msg_ok;
- //Sinon si l'envois ne fonctionne pas.
- else
- echo "Une erreur est survenue lors de l'envoi du formulaire par email";
- }
- if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
- {
- //On formate le nom du fichier ici...
- $fichier = strtr($fichier,
- 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
- 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
- $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
- 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é...
- {
- echo 'Upload effectué avec succès !';
- }
- else //Sinon (la fonction renvoie FALSE).
- {
- echo 'Echec de l\'upload !';
- }
- }
- else
- {
- echo $erreur;
- }
- ?>
|
Message édité par fabdu68200 le 31-03-2012 à 16:29:52
|