Bonjour à tous
Je suis nouveau ici, d'avance merci de m'accueillir et de bien vouloir m'aider avec indulgence.
Je viens de créer un petit site de coaching personnel et donc il y a un formulaire à remplir :
le message et une photo à envoyer ou pas (au choix/bouton radio)
J'ai au départ été aidé pour la conception du traitement.php du formulaire car je n'y connais pas grand chose au codage en php et a ce stade malgré plusieurs correctifs il ne fonctionne pas correctement, donc blocage pour moi.
Voici les problèmes (je vous donne aussi le formulaire et son traitement) :
1)Pour l'option question sans photo que je mette ou pas la photo en upload ça me donne :
" Vous avez choisi question avec photo mais vous ne l'avez pas envoyée, recommencez le formulaire " et donc pas d'envoi du formulaire
2)Pour l'option question avec photo :
-lorsque l'upload se fait en gif ça me met " il faut télécharger une image "
-pour les photos jpg venant d'un appareil photo ça me met " veuillez télécharger une photo en gif, jpg, ou png "
-pour les images jpg téléchargées sur internet ou capturées par webcam, là c'est ok ça fonctionne
En espérant vous lire
Cordialement
Modifié par conke (01 Feb 2011 - 17:28)
Je suis nouveau ici, d'avance merci de m'accueillir et de bien vouloir m'aider avec indulgence.
Je viens de créer un petit site de coaching personnel et donc il y a un formulaire à remplir :
le message et une photo à envoyer ou pas (au choix/bouton radio)
J'ai au départ été aidé pour la conception du traitement.php du formulaire car je n'y connais pas grand chose au codage en php et a ce stade malgré plusieurs correctifs il ne fonctionne pas correctement, donc blocage pour moi.
Voici les problèmes (je vous donne aussi le formulaire et son traitement) :
1)Pour l'option question sans photo que je mette ou pas la photo en upload ça me donne :
" Vous avez choisi question avec photo mais vous ne l'avez pas envoyée, recommencez le formulaire " et donc pas d'envoi du formulaire
2)Pour l'option question avec photo :
-lorsque l'upload se fait en gif ça me met " il faut télécharger une image "
-pour les photos jpg venant d'un appareil photo ça me met " veuillez télécharger une photo en gif, jpg, ou png "
-pour les images jpg téléchargées sur internet ou capturées par webcam, là c'est ok ça fonctionne
<form action="traitementbabyl222.php" method="post" enctype="multipart/form-data">
<p>Cochez votre choix (tous les champs sont obligatoires) :</p>
<ul>
<li><input type="radio" id="sans_photo" name="question_type" value="Sans photo" checked="checked"><label for="sans_photo">Question sans photo / xx euros</label></li>
<li><input type="radio" id="avec_photo" name="question_type" value="Avec photo" checked="checked"><label for="avec_photo">Question avec photo / yy euros</label></li>
</ul>
<p><label for="prenom">Votre prénom :</label><br/><input type="text" id="prenom" name="prenom"></p>
<p><label for="email">Votre adresse e-mail :</label><br/><input type="text" id="email" name="email"></p>
<p><label for="question">Votre question :</label><br/><textarea id="question" name="question" cols="48" rows="8"></textarea></p>
<p><label for="photo">Votre photo :</label><br/><input type="file" id="photo" name="photo"></p>
<p>Si vous souhaitez une copie de ce formulaire par mail, cochez cette case :<input type="checkbox" name="copie" value="1"/></p>
<p><input type="submit" name="envoi" value="Envoyer">
</form>
<?php
// definitions
$adresse_ton_site = 'http://www.xxxxxxxxxxxx.com/';
$destination_photos = 'photosclients/';
$destination_email = 'xxxxxxxxx@live.fr';
$objet = "Réception du formulaire :";
// recuperation des variables
$question_type = (isset($_POST['question_type'])) ? $_POST['question_type'] : '';
$prenom = (isset($_POST['prenom'])) ? sprintf("%s", trim($_POST['prenom'])) : '';
$email = (isset($_POST['email'])) ? sprintf("%s", trim($_POST['email'])) : '';
$question = (isset($_POST['question'])) ? sprintf("%s", trim($_POST['question'])) : '';
$taille = filesize($_FILES['photo']['tmp_name']); //Taille du fichier
// verification des variables
$erreurs = array(); // par defaut, vide
if ($prenom == '')
$erreurs[] = 'Il faut renseigner votre prenom.';
if (($email == '') || (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/" , $email) == false))
$erreurs[] = 'Votre email est vide ou mal orthographie. Verifiez.';
if ($question == '')
$erreurs[] = 'Il faut renseigner votre question.';
if (!in_array($question_type, array('Sans photo', 'Avec photo')))
$question_type = 'Sans photo'; // par defaut s'il triche et que rien n'est envoye, on reste sur "sans photo".
if (($question_type == 'Avec photo') && (!empty($_FILES['photo']['tmp_name'])))
{
$array_extensions_permises = array('gif', 'jpg', 'png');
$taille_maxi = 2300000; // taille maximum (en octets)
// on recupere l'extension de la photo
$temp = explode('.', basename($_FILES['photo']['name']));
$extension = $temp[count($temp) -1];
if (!in_array($extension, $array_extensions_permises))
$erreurs[] = 'Veuillez télécharger une photo en gif, jpg ou png, merci.';
// on limite la taille à 2 mo
if( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_maxi)
{
$erreurs[] = "Votre fichier doit faire moins de 2 mo !";
}
// on limite la taille à 2 Mo
if (isset($_FILES['photo']) && in_array($_FILES['photo']['type'], array('image/gif', 'image/jpg', 'image/png')))
{
$erreurs[] = 'Il faut telecharger une image, svp.';
}
}
else
$erreurs[] = 'Vous avez choisi question avec photo mais vous ne l\'avez pas envoyée, recommencez le formulaire.';
if (count($erreurs) > 0)
{
echo '<center><p><strong style="color:#FF0000;">'.join('<br>', $erreurs).'</strong></p></center>';
}
else // formulaire OK
{
// on recupere la photo uniquement si le choix est sur "avec photo"
if (($question_type == 'Avec photo') && (!empty($_FILES['photo']['name'])))
{
// on recupere l'extension de la photo
$temp = explode('.', basename($_FILES['photo']['name']));
// on renomme la photo avec l'email et la date
$nom_photo = date('Ymd_His').'_photo_'.$email.'.'.$temp[count($temp) -1];
opendir($destination_photos);
if (!move_uploaded_file($_FILES['photo']['tmp_name'], $destination_photos.$nom_photo))
echo '<center><p><strong style="color:#FF0000;">Erreur au telechargement du fichier - trop gros ou pas le droit d ecriture.</strong></p></center>';
};
// on envoie le mail final
$headers .= 'From: '.$prenom.' <'.$email.'>' . "\r\n";
$headers .= 'Reply-To: '.$email. "\r\n";
$message = "Vous avez rempli le formulaire avec les informations suivantes, Lucile vous répondra au plus vite :\n\n";
if (($question_type == 'Avec photo') && (!empty($_FILES['photo']['name'])))
{
$message .= "Photo : ".$adresse_ton_site.$destination_photos.$nom_photo."\n\n";
}
$message .= stripslashes("Prenom : ".$prenom."\n\n");
$message .= "Email : ".$email."\n\n";
$message .= stripslashes("Question : ".$question."\n\n");
if (mail($destination_email, $objet, $message, $headers))
echo '<center><p><strong style="color:#009900;">Votre email m\'est bien parvenu, merci !</strong></p></center>';
else
echo '<center><p><strong style="color:#FF0000;">Votre email n\'est pas encore parti, veuillez reessayer SVP.</strong></p></center>';
//Envoi du double :
if (isset($_POST["copie"])){mail($email, $objet, $message, $headers);}
};
?>
En espérant vous lire
Cordialement
Modifié par conke (01 Feb 2011 - 17:28)