Page 1 sur 1

conditions avec PhpMailer

Posté : 13 avr. 2019, 17:18
par wyins
Bonjour à tous,

J'ai créé un formulaire de contact avec traitement phpMailer. Le formulaire contient 3 champs et 2 pièces jointes.
Le problème que je n'arrive pas à résoudre est que lorsque le formulaire est soumis il affiche : "extension non valide" ou "résultat de l'opération:faux" et donc le mail ne part. Sauf que mon echo "<h1>Message envoyé</h1>"; s'affiche quand même.
Pourriez-vous m'aider à ce sujet ?
Merci

Voici le tout :

<form method="post" action="emploi.php" enctype="multipart/form-data">

<div class="prod1">
<div>
<label>Nom Prénom<span class="obligatoire">*</span></label>
<input type="text" name="nom" required/>
</div>

<div>
<label>Email<span class="obligatoire">*</span></label>
<input type="email" name="email" required/>
</div>

<div>
<label>Téléphone<span class="obligatoire">*</span></label>
<input type="text" name="ref" required/>
</div>

</div>

<div class="prod1">
<div>
<label for="lettre">Lettre de motivation (PDF) :</label>
<input type="file" name="lettre" id="lettre" style="font-size:0.8em"><br />
</div>

<div>
<label for="cv">Curriculum vitae (PDF) :</label>
<input type="file" name="cv" id="cv" style="font-size:0.8em"><br />
</div>

</div>

<div class="align-center"><span class="obligatoire">*</span><span>champs obligatoires</span></div>


<?php
include("pds_captcha.php");
echo pdscaptcha("question");
?>

<input type="submit" name="submit" value="Envoyer"/>

</form>



PHP :
<?php


require "PHPMailer/class.phpmailer.php";

$mail = new PHPMailer;
$mail->IsMail ();
$mail->ClearAddresses ();
$mail->AddAddress ("XXXXXX");
$mail->CharSet = 'UTF-8';
$mail->isHTML(true); // définir le format email en HTML
$mail->Subject = 'Candidature de '. $_POST['nom'] .'';
$mail->Body = 'Une personne a postulé via le site internet :
<ul>
<li>Nom : '. $_POST['nom'] .'</li>
<li>Email : '. $_POST['email'] .'</li>
<li>Téléphone : '. $_POST['ref'] .'</li>
</ul>';

foreach($_FILES as $fichier)
{
$mail->AddAttachment($fichier['tmp_name'], $fichier['name']);
}

$file = $_FILES["lettre"]["name"];
$file = $_FILES["cv"]["name"];
$extensions_valides = array('pdf','PDF');
$extension = pathinfo($file, PATHINFO_EXTENSION);
if (!in_array($extension,$extensions_valides)){
echo "<h1>Fichiers PDF svp</h1>";
}

include("pds_captcha.php");
if (!pdscaptcha($_POST)){
echo "<h1>Vérifier le résultat</h1>";
}
}
else ($mail->Send()){
echo "<h1>Message envoyé</h1>";
}

?>

Re: conditions avec PhpMailer

Posté : 14 avr. 2019, 15:19
par @rthur
Les messages d'erreurs que tu cites ne sont pas dans le code que tu as indiqué.

Mais d'une façon générale si tu n'arrêtes pas le traitement en cas d'erreur, c'est normal que le traitement continue :D

Re: conditions avec PhpMailer

Posté : 14 avr. 2019, 15:33
par wyins
Merci @rthur pour ta réponse. Peux tu me donner un exemple précis pour illustrer tes dires ? Je débute et la je coince...