Check in or check out

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Karim Bizid

Karim Bizid

16/02/2015 22:05:43
Quote Anchor link
Beste PHPers,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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';
   }



?>


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
 
PHP hulp

PHP hulp

22/12/2024 19:07:37
 
- SanThe -

- SanThe -

16/02/2015 22:10:44
Quote Anchor link
Maak een nette foutafhandeling op de query's.
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'
 
Karim Bizid

Karim Bizid

16/02/2015 23:01:06
Quote Anchor link
Dank voor je reactie!

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..
 
- SanThe -

- SanThe -

16/02/2015 23:09:14
Quote Anchor link
$result heeft als inhoud een resultaatset van (eventueel) gevonden records.
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().
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.