Bonjour à tous,
Je cherche depuis quelques semaines et ne trouve de solutions... Malgré de nombreuses visites sur des sites très variés.
Je souhaite un formulaire avec pj pour que les utilisateurs puissent m'envoyer un document.
Et je souhaite recevoir les différentes informations et la pj sur mon mail.
Les codes sans la pj fonctionnent à peu près.
Soucis 1 : Mystérieusement le mail arrive mais la page reste bloquer sur la page vide php et ne renvoie pas sur les pages "merci", "erreur" ou "contact".
Soucis 2 : Par contre pour la partie pj, je me noie ...
J'ai trouvé des codes, mais je ne sais comment les intégrer, à quel moment où si ils sont bons ... J'ai trouvé uniquement un code qui fonctionne pour uploader des fichiers sur le serveur.
Quelqu'un peut-il me guider ?
Merci beaucoup et excellente soirée.
Le code html avec la ligne "pj"
Le php sans pj :
Et le bout de code pj, que je ne sais intégrer
Je cherche depuis quelques semaines et ne trouve de solutions... Malgré de nombreuses visites sur des sites très variés.
Je souhaite un formulaire avec pj pour que les utilisateurs puissent m'envoyer un document.
Et je souhaite recevoir les différentes informations et la pj sur mon mail.
Les codes sans la pj fonctionnent à peu près.
Soucis 1 : Mystérieusement le mail arrive mais la page reste bloquer sur la page vide php et ne renvoie pas sur les pages "merci", "erreur" ou "contact".
Soucis 2 : Par contre pour la partie pj, je me noie ...
J'ai trouvé des codes, mais je ne sais comment les intégrer, à quel moment où si ils sont bons ... J'ai trouvé uniquement un code qui fonctionne pour uploader des fichiers sur le serveur.
Quelqu'un peut-il me guider ?
Merci beaucoup et excellente soirée.
Le code html avec la ligne "pj"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<meta name="description" content="" />
</head>
<body>
<div class="conteneur">
<div class="zonecontact">
<form id="monform" action="envoi.php" method="post">
<input type=hidden name=subject value=formmail>
<h3>Vous avez un projet en tête ?</h3>
<p><br />
<label for="form_lastname"></label>
<input type="text" id="form_lastname" name="nom" value="Nom"/>
</p>
<p>
<label for="form_entreprise"></label>
<input type="text" id="form_entreprise" name="entreprise" value="Entreprise" />
</p>
<p>
<label for="form_mail"></label>
<input type="text" id="form_mail" name="mail" value="Mail"/>
</p>
<p>
<label for="form_tel"></label>
<input type="text" id="form_tel" name="telephone" value="Téléphone"/>
</p>
<p>
<label class="cf_label" style="width:300px;"></label>
<textarea id="text_9" class="cf_inputbox" name="infos" cols="30" title="" rows="5">Votre message</textarea>
</p>
<p id="submit">
<label class="form_label_nostyle"> </label>
<input type="submit" name="submit" value="Envoyer" />
</p>
</form>
</div>
</div>
</div>
</body>
Le php sans pj :
<?php
/*
modif dans contact.html
il faut retirer enctype="text/plain" du formulaire sinon le post est vide
*/
error_reporting(E_ALL);
if (!empty($_POST['submit']) && $_POST['submit'] == 'Envoyer')
// je pense que tu peux retirer la deuxieme condition ( && $_POST['submit'] == 'Envoyer')
// ca te genera si tu veux changer le contenu de ton bouton le !empty suffit
{
// Quand tu as une grande suite de conditions, je te conseille d'écrire comme ca c'est plus lisible
// et si tu t'y connais un peu en javascript, je te conseille de faire la verification en javascript d'abord, ca évite que s'il manque
// quelque chose, ton client doivent retaper tout ce qu'il a tapé
// en plus tu pourras lui dire éxactement ou est l'erreur
if(!empty($_POST[ 'nom' ])
&& !empty($_POST['entreprise'])
&& !empty($_POST['mail'])
&& !empty($_POST['telephone'])
&& !empty($_POST['infos'])) {
extract($_POST);
// inutile puisque qu'apres quand tu fais "$message = " ca remplace la variable
// $message=str_replace("\'","'",$message);
$destinataire="monmail@yahoo.fr";
$sujet="Vous avez un message";
$message="Nouveau message \n
NOM : $nom \n
NOM : $entreprise \n
MAIL : $mail \n
TELEPHONE : $telephone \n
LE MESSAGE : $infos";
$entete="Reply-To: $mail \n";
if(mail($destinataire,$sujet,$message,$entete)) {
header("Locations : http://monsite.fr/merci.html");
} else {
// la si il y a le moindre probleme dans l'envoi, ca passe ici et tu peux rediriger vers une autre page comme erreur
header("Location : http://monsite.fr/erreur.html");
}
}
else{
header("Location : http://monsite.fr/contact.html");
}
}
?>
Et le bout de code pj, que je ne sais intégrer
<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
?>