Check in or check out
Zo nu en dan maak ik nog eens een systeempje in PHP voor het e.e.a..
Momenteel leg ik de laatste hand op een in- en uitcheck systeem voor een studio, maar loop vast op een laatste dingetje.
Men scanned een pasje om in te checken. Hiervoor heb ik de inlog kant van Wordpress geleend om de simpele reden dat ik niet te vaak bezig wil zijn met dit systeem (beveiligen ed.) en ik niet het wiel opnieuw uit wil vinden.
Zodra de inlog ok is stuurt Wordpress de gebruiker dus door naar mijn eigen systeem.
De eerste pagina checked of de gebruiker reeds is ingechecked. Wanneer dit het geval is, is het de bedoeling dat het systeem die gebruiker direct weer uitgechecked zal worden.
Dus: Gebruiker komt binnen, scanned pas en checked dus in... bij verlaten scanned de gebruiker opnieuw de pas en snapt het systeem dat de gebruiker dus al is ingechecked en dat hij wil uitchecken.
Dat inchecken en uitchecken individueel werkt prima, maar het checken of de gebruiker wel of niet is ingechecked lijkt moeilijker dan gedacht.
Zodra de gebruiker dus inlogd in Wordpress (de pas scanned) is dit de eerste pagina waar hij beland:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$dbhost = '';
$dbuser = '';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Er is duidelijk iets mis met de DR GROOVE database. Graag even een mailtje/telefoontje naar Dennis of Karim');
}
mysql_select_db("md36691db130852");
$query = "SELECT user FROM CHECKIN_DATA WHERE checkedin=yes ";
$result = mysql_query($query);
if ($result==$current_user->user_firstname)
{
echo 'ingechecked';
}
else
{
echo 'niet ingechecked';
}
?>
$dbhost = '';
$dbuser = '';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Er is duidelijk iets mis met de DR GROOVE database. Graag even een mailtje/telefoontje naar Dennis of Karim');
}
mysql_select_db("md36691db130852");
$query = "SELECT user FROM CHECKIN_DATA WHERE checkedin=yes ";
$result = mysql_query($query);
if ($result==$current_user->user_firstname)
{
echo 'ingechecked';
}
else
{
echo 'niet ingechecked';
}
?>
Dit result dus eigenlijk altijd ingechecked.. zelfs nu de db leeg is.
Wat ik hier probeer is te checken of de gebruiker die nu inlogd de waarde "yes" heeft in zijn "checkedin" veld, maar dat lijkt niet helemaal te werken.
Wat doe ik verkeerd? Of hebben jullie een idee hoe ik dit beter kan oplossen?
Bij voorbaat dank!!
Karim
Gewijzigd op 16/02/2015 22:06:15 door Karim Bizid
Je query is mislukt.
WHERE checkedin=yes
Ik denk dat yes in de database zal moeten staan en geen kolom is.
Dus moet het tussen enkele quotes.
WHERE checkedin='yes'
Ik ben iets verder.
Hij gaf nu netjes "niet ingechecked" aan echter veranderde dit niet naar "ingechecked" toen ik iets in de database stopte.
Om dus even te checken wat de $current_user->user_firstname nu precies doet (die heb ik ook al in andere files gebruikt) heb ik dit even laten echochen in deze pagina, maar daar kwam dus een lege record op terug :(
Nu dus even op onderzoek waarom dit niet werkt..
Dat zijn pointers en geen tekst.
Dus deze if zal niet werken:
if ($result==$current_user->user_firstname)
Kijk eens naar mysql_fetch_ functions.
De functions van mysql_ zijn verouderd en gaan in de toekomst verdwijnen.
Kijk ook eens naar mysqli_ functions of naar pdo().