huidige tijd met database tijd vergelijken!
Ik heb gelezen dat dat met de functie strtotime kan. Echter snap ik het niet helemaal en lukt het mij telkens niet op de tijden goed te vergelijken.
Kan iemand mij helpen misschien?
mvg
richard
En de tijd hier posten die de database geeft en welke jij zelf hebt gemaakt door middel van een PHP code?
datumveld en NOW() gebruiken.
Op het punt dat de huidige tijd hoger is dan de expiredate dan is zeg maar zijn "abonnement" afgelopen en moet hij opnieuw betalen.
Echter is het mij niet gelukt om dit op te lossen. Ik heb wel vernomen om met strtotime te werken. Allen het lukt me niet
Ik hoop dat u hier mee aan heeft.
mvg Richard
Is dat een DATE met een echte datum of slechts een VARCHAR of CHAR met een string?
Je kunt met een DATE namelijk heel eenvoudig een query uitvoeren met een conditie zoals:
WHERE expire_date < CURDATE()
Is de kolom toch een string, dan kun je er nog met de functie DATE() een datum van maken:
WHERE DATE(expire_date) < CURDATE()
$query1 = mysqli_query($db, "SELECT * FROM leden WHERE email = '" . $user . "' AND password = '" . sha1($pass). "' AND expireDatetime < CURDATE() ") or die("Can not query DB.");
$count = mysqli_num_rows($query1);
if ($count == 1) {
//YES WE FOUND A MATCH!
$_SESSION['username'] = $user; //Create a session for the user!
header("location: panel.php");
echo"<div style='text-align: center'> succesvol aangemeld</div>";
} else {
$query2 = mysqli_query($db, "SELECT status FROM leden WHERE email = '" . $user . "' AND password = '" . sha1($pass). "'") or die("Can not query DB.");
$count = mysqli_num_rows($query2);
if ($count == 1) {
//YES WE FOUND A MATCH!
$_SESSION['registreren'] = $user; //Create a session for the user!
header("location: fout.php");
echo"<div style='text-align: center'> U moet opnieuw betalen!</div>";
}
Dat is efficiënter dan een SELECT * gevolgd door een $count = mysqli_num_rows(...).