Script imprimer pag web qu une seule fois - Page 3
Résolu
Précédent
- 1
- 2
- 3
-
Merci de ta reponse
Ma table s apelle date
Mais cela ne marche pas
Le mail s envoi automatiquement c est bien ca je n es rien besoin de faire?
voici mon code :
<?
require("conf.php3");
// CONNEXION MYSQL
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$requete=mysql_db_query($sql_bdd,"select * from annuweb_membre where id=\"$id\"",$db_link) or die(mysql_error());
// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
{
// REDIRECTION PAGE ERREUR
header("Location:$url_erreur");
exit;
}
// LIGNE FACULTATIVE : RECUPERATION DU PSEUDO
$pseudo_membre=mysql_result($requete,0,"nom");
$email_membre=mysql_result($requete,0,"email");
$adresse=mysql_result($requete,0,"adresse");
$ville_membre=mysql_result($requete,0,"ville");
$prenom_membre=mysql_result($requete,0,"prenom");
$postal=mysql_result($requete,0,"postal");
$id_membre=mysql_result($requete,0,"id");
$passe_membre=mysql_result($requete,0,"passe");
$tel_membre=mysql_result($requete,0,"tel");
$portable=mysql_result($requete,0,"portable");
$date=mysql_result($requete,0,"date");
$offre=mysql_result($requete,0,"offre");
// DECONNEXION MYSQL
mysql_close($db_link);
//demarage anniversaire
$date = $data['date'];
$date_actuel = date("Y-m-d H:i:s");
//On compare
if($anniversaire == $date_actuel)
{//Envoyer un mail
$headers ='From: "nom"<adresse@fai.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ='<html><head><title>Joyeux anniversaire</title></head><body>Un message de test</body></html>';
if(mail($email_membre, 'Sujet', $message, $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
Merci de ton aide-
Si tu fais un simple:
echo $date;
ça te donne quoi ?
Tu peux sinon calcule le temps entre deux date et si =0 le mail est envoyé. Pour ça il faut utiliser mktime(). J'ai trouvé un tuto qui pourrai t'aider.
https://php.developpez.com/faq/?page=dates#date_duree
-
-
merci da ta reponse
je viens de trouver
j utilise ca
est ce bien?
<html>
<head>
<META NAME="AUTHOR" CONTENT="Denis Blomme - DB77">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<style>
td {font-family:Verdana,Arial;font-size:10px;}
</style>
</head>
<body>
<table width=208 height="142" cellpadding=0 cellspacing=0>
<?php
// Table des libellés des mois
$libmois=array("","janvier","février","mars","avril","mai","juin",
"juillet","août","septembre","octobre","novembre","décembre");
// On se connecte
$host = "localhost"; // voir hébergeur
$user = "---"; // vide ou "root" en local
$pass = "---"; // vide en local
$bdd = "---"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter au host");
@mysql_select_db("$bdd")
or die("Impossible de se connecter à la base");
$afficher="Bon anniversaire";
// on sélectionne ceux dont c'est le jour anniversaire
$sql="select * from annuweb_membre where month(date)=month(CURRENT_TIMESTAMP)
and dayofmonth(date)=dayofmonth(CURRENT_TIMESTAMP)";
$result=mysql_query($sql)
or die("Impossible de lancer la requête ".$sql);
if(mysql_numrows($result)>0) {
// On met à zéro le champ "envoye" pour tout ceux dont ce n'est pas la date anniversaire
$sql="update annuweb_membre set envoye=0 where month(date)<>month(CURRENT_TIMESTAMP)
or dayofmonth(date)<>dayofmonth(CURRENT_TIMESTAMP)";
mysql_query($sql)
or die("Impossible de lancer la requête ".$sql);
}else{
$sql="select * from annuweb_membre where envoye=1";
$result=mysql_query($sql)
or die("Impossible de lancer la requête ".$sql);
$afficher="Précédent(s)";
}
// On prépare l'entête pour l'envoi du mél
$tete = "From: Pico-Bello <picobello@free.fr>\n"; // mettez vos infos ici
$tete .= "Reply-To: picobello@free.fr\n"; // et également ici
$tete .= "Content-Type: text/html; charset=iso-8859-1\n";
// et le corps du message
while ($val = mysql_fetch_array($result))
{
$corps="<HTML><BODY><FONT FACE='Arial, Verdana' SIZE=2>";
$corps.="Bonjour ".$val["prenom"]." ".$val["nom"].". Nous sommes heureux de vous souhaiter un tres bon anniversaire pour vos ".$age." ans! vous pouvez imprimer votre cadeaux d'anniversaire ici<a href='http://picobello.free.fr/membres1/membres.php3?id=".$val["id"]."'>Cliquez ici</a>";
$corps.="</BODY></HTML>";
echo "<tr><td><img src='images/".$val['photo']."'></td>";
echo "<td>".$afficher."<br>".$val['prenom'];
$d1 = $val["date"];
list($annee,$mois,$jour) = explode("-",$d1);
//à partir de la date de naissance, retourne l'âge dans la variable $age
// date de naissance
$ddn = "$jour/$mois/$annee";
// enregistrement de la date du jour
$DATEDUJOUR = date("Y-m-d"); $DATEFRAN = date("d/m/Y");
// calcul de mon age d'après la date de naissance $ddn
$annais = substr("$ddn", 6, 4);
$anjour = substr("$DATEFRAN", 6, 4);
$moisnais = substr("$ddn", 3, 2);
$moisjour = substr("$DATEFRAN", 3, 2);
$journais = substr("$ddn", 0, 2); $jourjour = substr("$DATEFRAN", 0, 2);
$age = $anjour-$annais;
if ($moisjour<$moisnais){$age=$age-1;}
if ($jourjour<$journais && $moisjour==$moisnais){$age=$age-1;}
echo " (".$jour."/".$mois."/".$annee.") <br> ".$val['prenom']." à ".$age." ans</td></tr>";
//fin de script
if($val["envoye"]==0){ // Si on ne lui a pas encore envoyé de mél
mail($val["prenom"]." ".$val["nom"]." <".$val["email"].">","Grand jour",$corps,$tete);
}
}
// Modification de la colonne anni en on
$sql ='UPDATE annuweb_membre SET anni="ON" WHERE month(date)=month(CURRENT_TIMESTAMP)
and dayofmonth(date)=dayofmonth(CURRENT_TIMESTAMP)';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on indique qu'ils ont reçu un mél en mettant à 1 le champ "envoye"
$sql="update annuweb_membre set envoye=1 where month(date)=month(CURRENT_TIMESTAMP)
and dayofmonth(date)=dayofmonth(CURRENT_TIMESTAMP)";
mysql_query($sql);
// on traite les suivants dont ce n'est pas le jour anniversaire
$sql="select * from annuweb_membre where ((month(date)*100)+dayofmonth(date))>
((month(CURRENT_TIMESTAMP)*100)+dayofmonth(CURRENT_TIMESTAMP))
order by month(date), dayofmonth(date)";
$result=mysql_query($sql)
or die("Impossible de lancer la requête ".$sql);
echo "<tr><td colspan=2><b>Anniversaires à venir ;)</b></td></tr>";
$nbr=0;
while ($val = mysql_fetch_array($result)and($nbr<5))
{ $d1 = $val["date"];
list($annee,$mois,$jour) = explode("-",$d1);
// Et afficher ce timestamp au format français ;)
echo "<tr>";
echo "<td>".$jour." ".$libmois[(int)$mois]."</td>";
echo "<td>".$val['nom']." ".$val['prenom']."</td>";
echo "</tr>";
$nbr++;
}
if($nbr<5){ // Si on n'a pas le nombre alors on repart à partir du 1er janvier ;)
$sql="select * from annuweb_membre where ((month(date)*100)+dayofmonth(date))>=101
order by month(date), dayofmonth(date)";
$result=mysql_query($sql)
or die("Impossible de lancer la requête ".$sql);
while ($val = mysql_fetch_array($result)and($nbr<5))
{
$d1 = $val["date"];
list($annee,$mois,$jour) = explode("-",$d1);
// Et afficher ce timestamp au format français ;)
echo "<tr>";
echo "<td>".$jour." ".$libmois[(int)$mois]."</td>";
echo "<td>".$val['nom']." ".$val['prenom']."</td>";
echo "</tr>";
$nbr++;
}
}
mysql_close();
?>
</table>
</body>
</html>
merci de ton aide -
Non le mail dois etre envoyé
Je vais mette cette page a l'acceuil du site car chaque jour au moin 1visiteurs se rendra sur le sites normalement donc l envoi se fera tu pense que c es bon?
Merci de ton aide encore -
oui faut que le site soit visiter
On va en arreter la lol
Je te remerci pour tous ton aide sans toi je n aurais pas réussis
Merci a bientot -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ok pas de probleme
La j ai mis un autre sujet modification de phpnewsletter
Je veut modifier la newsletter du site en rajoutant le nom et prenom de la personne mais je sais pas trop dans quel fichier toucher lol
Précédent
- 1
- 2
- 3