sur mon site, j'ai des concours avec envoi de mail aux gagnants.
les gains sont bien attribués mais le mail ne s'envoi pas j'ai le message du or die qui s'affiche.
Voici le code, si quelqu'un pouvais m'aider ça serait sympa.
merci d'avance.
Code : Tout sélectionner
<?php
define('include',NULL);
include('core.php');
if ($config->conc4 == 1){
$nompage = 'Concours PTP';
$descpage = 'Concours du meilleur diffuseur du ptp du site';
include('header.php');
include('sidebar.php');
$message = '';
$sqlpubh = $db->prepare('SELECT pub FROM pubs WHERE page = :page AND pos = :pos LIMIT 1');
$sqlpubh->execute(array(':page' => 'concours ptp', ':pos' => 'haut'));
$pubh = $sqlpubh->fetch(PDO::FETCH_OBJ);
$sqlpubb = $db->prepare('SELECT pub FROM pubs WHERE page = :page AND pos = :pos LIMIT 1');
$sqlpubb->execute(array(':page' => 'concours ptp', ':pos' => 'bas'));
$pubb = $sqlpubb->fetch(PDO::FETCH_OBJ);
$sqlparam = $db->query('SELECT gainptp1, gainptp2, gainptp3, gainptp4, gainptp5, gainptp6, textptp FROM concours');
$param = $sqlparam->fetch(PDO::FETCH_OBJ);
if (isset($_POST['donner_x']) && isset($_SESSION['pseudo']) && $_SESSION['admin'] == true) {
if ($_POST['position'] == 1) {$gain = $param->gainptp1; $position = 'Premier'; }
elseif ($_POST['position'] == 2) {$gain = $param->gainptp2; $position = 'Deuxième'; }
elseif ($_POST['position'] == 3) {$gain = $param->gainptp3; $position = 'Troisième'; }
elseif ($_POST['position'] == 4) {$gain = $param->gainptp4; $position = 'Quatrième'; }
elseif ($_POST['position'] == 5) {$gain = $param->gainptp5; $position = 'Cinquième'; }
elseif ($_POST['position'] == 6) {$gain = $param->gainptp6; $position = 'Sixième'; }
else {$gain = '0'; $position = 'Inconnu'; }
$update = $db->prepare('UPDATE membres SET credits = credits + :gain, creditsjour = creditsjour + :gain WHERE pseudo = :membre');
$update->execute(array(':gain'=>$gain, ':membre'=>$_POST['membre']));
$sqlinfos = $db->prepare('SELECT pseudo, email FROM membres WHERE pseudo = :membre');
$sqlinfos->execute(array(':membre' => $_POST['membre']));
$infos = $sqlinfos->fetch(PDO::FETCH_OBJ);
$pseudo = stripslashes(htmlentities($infos->pseudo, ENT_QUOTES, 'UTF-8'));
$corp = "<html><head><title>".$sitenom." - Concours PTP</title></head><body><p><em>Bonjour ".$pseudo . "</em><br /><br />Vous avez gagné au concours PTP<br />Votre position : ".$position."<br />Vous recevez <b>".$gain."</b> crédits.<br /><br /><a href=".$siteurl.">" . $sitenom . " - " . $siteslogan . "</a></p></body></html>";
$from = "From: \"".$sitenom."\"<" . $sitemail . ">\n";
$from .= "Reply-To: " . $sitemail . "\n";
$from .= 'Content-Type: text/html; charset="utf-8"'."\n";
$from .= 'Content-Transfer-Encoding: 8bit';
$corp = html_entity_decode($corp, ENT_QUOTES, 'UTF-8');
mail($infos->email, $sitenom.' - Concours PTP', $corp, $from) or die ("Impossible d\'envoyer le mail! ".$_POST['membre']);
$message = '<div id=valid>Gain donné à '.$pseudo.'</div><br /><script>setTimeout(\'window.location.replace("/concours-ptp")\',2000);</script>';
}
$mois = array(1=>'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
if (isset($_SESSION['membre']) && $_SESSION['connect'] == true){
$sqlinfos2 = $db->prepare('SELECT ptpmois FROM membres WHERE id = :id');
$sqlinfos2->execute(array(':id' => $_SESSION['membre']));
$infos2 = $sqlinfos2->fetch(PDO::FETCH_OBJ);
}
$position = 1;
$sqlconcours2 = $db->query('SELECT id FROM membres ORDER BY ptpmois DESC');
while($concours2 = $sqlconcours2->fetch(PDO::FETCH_OBJ)){
if (isset($_SESSION['membre']) && $concours2->id == $_SESSION['membre']) {$position = $position; break;} else $position++;
}
echo '<div id="content" class="float_r"><h2 class="center">Concours PTP</h2>'.($pubh->pub != NULL ? '<div class="center">'.$pubh->pub.'</div>' : '').'<p id="info">'.$message.'</p>
<div class="center">'.nl2br($param->textptp).'</div><br /><br />';
if (isset($_SESSION['membre']) && $_SESSION['connect'] == true)
echo '<article class="center" style="width:30%;margin:auto"><div class="topart"><h3>Vos Infos</h3><div class="sidehead2"><div class="sidehead3"></div></div></div><div class="padding center">Diffusions : '.$infos2->ptpmois.'<br />Position : '.$position.'</div></article><br /><br />';
echo '<div class="head center"><b>Meilleurs Diffuseurs du mois de '.$mois[date('n')].'</b></div><br />';
$sqlcount = $db->query('SELECT COUNT(id) AS count FROM membres WHERE ptpmois > 0');
$count = $sqlcount->fetch(PDO::FETCH_OBJ);
if ($count->count == 0) echo '<div class="center">Aucun Participant ce mois ci</div>';
else {
$i = 0;
$sqlconcours = $db->query('SELECT id, pseudo, ptpmois FROM membres ORDER BY ptpmois DESC LIMIT 9');
while($concours = $sqlconcours->fetch(PDO::FETCH_OBJ)){
$i++;
if ($i == 1) $gain = $param->gainptp1;
elseif ($i == 2) $gain = $param->gainptp2;
elseif ($i == 3) $gain = $param->gainptp3;
elseif ($i == 4) $gain = $param->gainptp4;
elseif ($i == 5) $gain = $param->gainptp5;
elseif ($i == 6) $gain = $param->gainptp6;
else $gain = '0 crédits';
$cpseudo = (strlen($concours->pseudo) >= 12) ? substr($concours->pseudo,0,10).'..' : $concours->pseudo;
echo '<article style="width:30%;float:left;margin-left:2%"><div class="topart"><h3>'.($i == 1 ? '<img src="/theme/images/star.png" alt="star" width="16" height="16" />' : '').' '.$cpseudo.'</h3><div class="sidehead2"><div class="sidehead3"></div></div></div><div class="padding center">Diffusions : '.$concours->ptpmois.'<br />Position : '.($concours->id == 1 ? 'Hors concours' : $i.($i == 1 ? 'er' : 'ème')).'<br />Gain : '.$gain.'</div></article>';
if ($i == 3 || $i == 6 || $i == 9 ) echo '<div class="cleaner"></div><br />';
else echo '';
}
}
echo '<div class="cleaner"></div><br /><div class="head center"><b>Meilleurs Diffuseurs du mois dernier</b></div><br />';
$pos = 0;
$queryold = $db->query('SELECT pseudo, ptpold FROM membres WHERE id != 1 AND ptpold > 0 ORDER BY ptpold DESC LIMIT 6');
while($concoursold = $queryold->fetch(PDO::FETCH_OBJ)){
$pos++;
$oldpseudo = (strlen($concoursold->pseudo) > 10) ? substr($concoursold->pseudo, 0, 10).'..' : $concoursold->pseudo;
$concoursold->pseudo = (isset($_SESSION['pseudo']) && $_SESSION['admin'] == true) ? '<form method="post" action="/concours-ptp">'.$oldpseudo.' <input type="hidden" value="'.$pos.'" name="position" /><input type="hidden" value="'.$concoursold->pseudo.'" name="membre" /><input type="image" src="/theme/images/plus2.png" style="vertical-align:-3px" name="donner" title="Récompenser '.$concoursold->pseudo.'" /></form>' : $concoursold->pseudo;
echo '<article style="width:30%;float:left;margin-left:2%"><div class="topart"><h3>'.$concoursold->pseudo.'</h3><div class="sidehead2"><div class="sidehead3"></div></div></div><div class="padding center">Diffusions : '.$concoursold->ptpold.'<br />Position : '.$pos.($pos == 1 ? 'er' : 'ème').'</div></article>';
if ($pos == 3 || $pos == 6) echo '<div class="cleaner"></div><br />';
else echo '';
}
echo '<br />'.($pubb->pub != NULL ? '<div class="center">'.$pubb->pub.'</div>' : '').'</div>';
include('footer.php');
}
else die('module désactivé');
?>