Hallo,
ich hab ein Script geschrieben, bzw. bin dabei, welches eine Geburtstagsmail an alle User schicken soll, welche heute Geburtstag haben. Wichtig dabei war mir, dies nicht via Cronejob zu lösen, da nicht alle CMS-Nutzer soetwas nutzen können.
Das ganz funktioniert so, das dieses Geburtstagsscript in der index.php included wird, und so beim Betreten des ersten Surfers auf der Website ausgeführt wird.
In der Datenbank ist der Geburtstag wie folgt eingetragen "1982-05-15 00:00:00" Das Problem was ich vorerst habe ist, dass das Geburtsjahr und das aktuelle Jahr ja verschieden ist, und ich nicht weiß, wie ich das lösen kann.
Vllt kann auch jemand irgendetwas zum restlichen Teil der PHP sagen, ob sich irgendwelche Fehler eingeschlichen haben, da ich es noch in keinster Weise ausprobiert habe.
Meine PHP sieht im Moment so aus:
ich hab ein Script geschrieben, bzw. bin dabei, welches eine Geburtstagsmail an alle User schicken soll, welche heute Geburtstag haben. Wichtig dabei war mir, dies nicht via Cronejob zu lösen, da nicht alle CMS-Nutzer soetwas nutzen können.
Das ganz funktioniert so, das dieses Geburtstagsscript in der index.php included wird, und so beim Betreten des ersten Surfers auf der Website ausgeführt wird.
In der Datenbank ist der Geburtstag wie folgt eingetragen "1982-05-15 00:00:00" Das Problem was ich vorerst habe ist, dass das Geburtsjahr und das aktuelle Jahr ja verschieden ist, und ich nicht weiß, wie ich das lösen kann.
Vllt kann auch jemand irgendetwas zum restlichen Teil der PHP sagen, ob sich irgendwelche Fehler eingeschlichen haben, da ich es noch in keinster Weise ausprobiert habe.
Meine PHP sieht im Moment so aus:
PHP:
<?php
//datum ermitteln
$datum_heute = date("Y.m.d 00:00:00");
//daten der user abfragen
$get_user=safe_query("SELECT nickname, birthday, email FROM ".PREFIX."user WHERE birthday='$datum_heute'" );
$data_user=mysql_fetch_assoc($get_user);
//letzte mailausführung abfragen
$get_setting=safe_query("SELECT last_bd_mail FROM ".PREFIX."settings");
$data2=mysql_fetch_assoc($get_setting);
$now=time();
if($data2['last_bd_mail']<$now && (date("d",$data2['last_bd_mail'])!=date("d"))){
ignore_user_abort(1);
//email aussehen
$betreff="Happy Birthday $data_user['nickname']";
$nachricht="Alles Gute zum Geburtstag wünschen Dir die Admins von ".$hp_url;
$sender = $admin_email;
$empfaenger = $data_user['email'];
$trenner = md5(uniqid(time()));
$header = "From: $sender\n";
$header .= 'MIME-Version: 1.0';
$header .= "\nContent-Type: multipart/mixed; boundary=$trenner\n\n";
$header .= 'This is a multi-part message in MIME format';
$header .= "\n--$trenner\n";
$header .= 'Content-Type: text/plain';
$header .= "\n";
$header .= "\n--$trenner--";
mail($empfaenger, $betreff, $nachricht, $header);
//mailausführung eintragen
safe_query("UPDATE ".PREFIX."settings SET last_bd_mail='".time()."'");
}
?>