Ik zit al uren te klooien met datetimes maar ik kom er maar niet uit, ik hoop dat iemand mij wilt helpen.
Het volgende wil ik realiseren, een gebruiker verstuurt een e-mail, ik sla nu de verzend datum op als een datetime in het volgende formaat: 2014-04-14 22:44:47. Nu wil ik een aantal check op deze datum uitvoeren zodat bij een volgende verzending er gekeken wordt of er binnen 1 maand al een email verzonden is, zo ja weergeef error.
Daarnaast heb je bepaalde acties naast het emailadres op basis van jouw verzend datum. Na 1 maand moet er namelijk een icoontje komen met opnieuw versturen erbij.
Het doel is dus controleren of er al een maand is verstreken maar het lukt mij van geen kanten:
Het volgende had ik bedacht:
<?php
function vergelijkDatum($datetime)
{
$start = new DateTime($datetime);
$end = new DateTime(getHuidigeDateTime());
$diff = $start->diff($end);
if ($diff->m >= 1)
{
// langer dan een maand..
return 1;
}
else
{
return 0;
}
}
// Check of uitnodiging binnen 1 maand al is verzonden
$q = "SELECT * FROM emails WHERE klant_id = ".getKlantIdFromKlanten()." AND domein_id = ".getCurrentDomeinId()." AND email = '".$email."'";
$result = $database->query($q);
while ($rows = mysqli_fetch_assoc($result))
{
if($limietBereikt !== 1 && vergelijkDatum($rows['laatst_verzonden'] == 0))
{
$errors[] .= $email." is al uitgenodigd binnen 1 maand";
}
}
?>