Ik heb een probleempje met de tijden vergelijken van mijn database en de tijd van vandaag.
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
Zou je de vraag beter kunnen uitleggen

En de tijd hier posten die de database geeft en welke jij zelf hebt gemaakt door middel van een PHP code?
In de database?
datumveld en NOW() gebruiken.
In mijn database heb ik een veld staan waar een Expiredate staan die in het formaat YYYY-m-d staat. Wat ik wil is dat er bij het inloggen de huidige tijd word vergeleken met me expiredate.
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
>> In mijn database heb ik een veld staan waar een Expiredate staan die in het formaat YYYY-m-d staat.

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()
De expiredate is een DATE. ik heb nu de volgende code;

$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>";
}
Je kunt beter een SELECT COUNT(*) AS total gebruiken: die retourneert maar één rij met één getal.

Dat is efficiënter dan een SELECT * gevolgd door een $count = mysqli_num_rows(...).

Reageren