PHP gevorderde |
|
Ik heb via php_info() m'n root achterhaald en ingesteld als cronjob. Als ik nu kijk via de logs zie ik geen fouten maar nog steeds geen mail gekregen + usage log geeft niet aan dat het geopend is (maar ik weet niet of dat er eigenlijk wel in komt.)
EDIT: hmmz, het is me nog steeds niet gelukt.
Even mijn cronjobs_day.php:
<?php
include('functions.php');
//bericht maken
$nu = time();
$dag = date("d",$nu);
$maand = date("m",$nu);
$jaar = date("y",$nu);
$start = mktime("0","0","0",$maand,$dag,$jaar);
$dan = volgendedag($start);
$query = mysql_query("SELECT * FROM datums WHERE `datum` >= '".$start."' AND `datum` < '".$dan."'");
if(mysql_num_rows($query) == 0) {
echo 'Geen datums';
}
else {
while ($det = mysql_fetch_assoc($query)) {
$bericht = '<table><tr><td>Naam:</td><td>';
$bericht = $bericht.$det['naam'].'(id:'.$det['id'].')</td></tr><tr><td>Datum:</td><td>';
$bericht = $bericht.date("l d F Y",$det['datum']);
if($det['jaarlijks'] >= 1) {
$bericht = $bericht.'('.$det['jaarlijks'].'jaarlijks)';
$maand = date("m",$det['datum']);
$dag = date("d",$det['datum']);
$jaar = date("y",$det['datum']);
$nieuwdatum = mktime("0","0","0",$maand,$dag,$jaar + $det['jaarlijks']);
mysql_query("INSERT INTO datums(naam,datum,categorie,commentaar,jaarlijks) VALUES('".$det['naam']."',".$nieuwdatum.",'".$det['categorie']."','".$det['commentaar']."',".$det['jaarlijks'].")");
}
$bericht = $bericht.'</td></tr><tr><td>Categorie:</td><td>'.categorie($det['categorie']);
$bericht = $bericht.'</td></tr><tr><td>Commentaar:</td><td>'.$det['commentaar'].'</td></tr></table>';
echo $bericht;
//Eigen gegevens
$email = 'email@bedrijf.com'; //
//Gegevens mail
$onderwerp = 'Datereminder:';
$onderwerp = $onderwerp.$det['naam'];
//Headers
$headers = "From: Datereminder <email@bedrijf.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Return-Path: Mail-Error <email@bedrijf.com>\r\n";
$headers .= "Reply-To: email@bedrijf.com";
//mail
if(mail($email, $onderwerp, $bericht, $headers)) {
mail('email@bedrijf.com',$onderwerp, $bericht, $headers);
echo 'Verzonden';
}
else {
echo 'Niet verzonden';
}
}
}
?>
<?php include('functions.php'); //bericht maken $start = mktime("0","0","0",$maand,$dag,$jaar); $dan = volgendedag($start); $query = mysql_query("SELECT * FROM datums WHERE `datum` >= '".$start."' AND `datum` < '".$dan."'"); } else { $bericht = '<table><tr><td>Naam:</td><td>'; $bericht = $bericht.$det['naam'].'(id:'.$det['id'].')</td></tr><tr><td>Datum:</td><td>'; $bericht = $bericht.date("l d F Y",$det['datum']); if($det['jaarlijks'] >= 1) { $bericht = $bericht.'('.$det['jaarlijks'].'jaarlijks)'; $maand = date("m",$det['datum']); $dag = date("d",$det['datum']); $jaar = date("y",$det['datum']); $nieuwdatum = mktime("0","0","0",$maand,$dag,$jaar + $det['jaarlijks']); mysql_query("INSERT INTO datums(naam,datum,categorie,commentaar,jaarlijks) VALUES('".$det['naam']."',".$nieuwdatum.",'".$det['categorie']."','".$det['commentaar']."',".$det['jaarlijks'].")"); } $bericht = $bericht.'</td></tr><tr><td>Categorie:</td><td>'.categorie($det['categorie']); $bericht = $bericht.'</td></tr><tr><td>Commentaar:</td><td>'.$det['commentaar'].'</td></tr></table>'; //Eigen gegevens $email = 'email@bedrijf.com'; // //Gegevens mail $onderwerp = 'Datereminder:'; $onderwerp = $onderwerp.$det['naam']; //Headers $headers = "From: Datereminder <email@bedrijf.com>\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "Return-Path: Mail-Error <email@bedrijf.com>\r\n"; $headers .= "Reply-To: email@bedrijf.com"; //mail if(mail($email, $onderwerp, $bericht, $headers)) { mail('email@bedrijf.com',$onderwerp, $bericht, $headers); } else { } } } ?>
Deel van functions.php
## volgende maand
function volgendemaand() {
$nu = time();
$jaar = date('y',$nu);
$maand = date('m',$nu);
if($maand == 12) {
$jaar = $jaar + 1;
}
if($maand == 12) {
$maand = 1;
}
else {
$maand = $maand + 1;
}
$volgendemaand = mktime("0","0","0",$maand,"1",$jaar);
return $volgendemaand;
}
function volgendedag($datum) {
$maand = date('m',$datum);
$dag = date('d',$datum);
$jaar = date('y',$datum);
if(checkdate($maand,$dag + 1,$jaar)) {
$volgendemaand = mktime("0","0","0",$maand,$dag + 1,$jaar);
}
elseif(checkdate($maand + 1,1,$jaar)) {
$volgendemaand = mktime("0","0","0",$maand +1,1,$jaar);
}
elseif(checkdate(1,1,$jaar + 1)) {
$volgendemaand = mktime("0","0","0",1,1,$jaar + 1);
}
return $volgendemaand;
}
function vorigedag($datum) {
$maand = date('m',$datum);
$dag = date('d',$datum);
$jaar = date('y',$datum);
if(checkdate($maand,$dag - 1,$jaar)) {
$volgendemaand = mktime("0","0","0",$maand,$dag - 1,$jaar);
}
elseif(($dag - 1) == 0) {
if(checkdate($maand - 1,31,$jaar)) {
$volgendemaand = mktime("0","0","0",$maand - 1,31,$jaar);
}
elseif(checkdate($maand - 1,30,$jaar)) {
$volgendemaand = mktime("0","0","0",$maand - 1,30,$jaar);
}
elseif(checkdate($maand - 1,29,$jaar)) {
$volgendemaand = mktime("0","0","0",$maand - 1,29,$jaar);
}
elseif(checkdate($maand - 1,28,$jaar)) {
$volgendemaand = mktime("0","0","0",$maand - 1,28,$jaar);
}
}
elseif(checkdate(31,12,$jaar - 1)) {
$volgendemaand = mktime("0","0","0",31,12,$jaar - 1);
}
return $volgendemaand;
}
## volgende maand function volgendemaand() { if($maand == 12) { $jaar = $jaar + 1; } if($maand == 12) { $maand = 1; } else { $maand = $maand + 1; } $volgendemaand = mktime("0","0","0",$maand,"1",$jaar); return $volgendemaand; } function volgendedag($datum) { $maand = date('m',$datum); $jaar = date('y',$datum); $volgendemaand = mktime("0","0","0",$maand,$dag + 1,$jaar); } $volgendemaand = mktime("0","0","0",$maand +1,1,$jaar); } $volgendemaand = mktime("0","0","0",1,1,$jaar + 1); } return $volgendemaand; } function vorigedag($datum) { $maand = date('m',$datum); $jaar = date('y',$datum); $volgendemaand = mktime("0","0","0",$maand,$dag - 1,$jaar); } elseif(($dag - 1) == 0) { $volgendemaand = mktime("0","0","0",$maand - 1,31,$jaar); } $volgendemaand = mktime("0","0","0",$maand - 1,30,$jaar); } $volgendemaand = mktime("0","0","0",$maand - 1,29,$jaar); } $volgendemaand = mktime("0","0","0",$maand - 1,28,$jaar); } } $volgendemaand = mktime("0","0","0",31,12,$jaar - 1); } return $volgendemaand; }
Mijn cronjobs: (ik krijg geen error; maar ook geen mail)
* * 1 * * /usr/local/bin/php /home/user/domains/.be/public_html/Datereminder/cronjobs_month.php
* 00 * * * /usr/local/bin/php /home/user/domains/.be/public_html/Datereminder/cronjobs_day.php
* * 1 * * /usr/local/bin/php /home/user/domains/.be/public_html/Datereminder/cronjobs_month.php * 00 * * * /usr/local/bin/php /home/user/domains/.be/public_html/Datereminder/cronjobs_day.php
|