conditions avec PhpMailer

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : conditions avec PhpMailer

Re: conditions avec PhpMailer

par wyins » 14 avr. 2019, 15:33

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...

Re: conditions avec PhpMailer

par @rthur » 14 avr. 2019, 15:19

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

conditions avec PhpMailer

par wyins » 13 avr. 2019, 17:18

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>";
}

?>