Door
Mark Tielemans
op 01-11-2010 12:57
gewijzigd op 01-11-2010 12:58
5.021 views
Hello,
Nu mijn vorige probleem is opgelost en het login systeem werkt zit ik met een nieuw probleem.
Ik wil een sessie variabele punten maken, en die vullen met de waarde in database kolom Punten van de gebruiker die inlogt.
In login.php heb ik dat als volgt opgelost:
<?php
$sql="SELECT * FROM $tbl_name WHERE Gebruikersnaam='$naam' and Wachtwoord='$wachtwoord' and Recht=0";
$result=mysql_query($sql);
Ik had een regel uit dat script van internet, waar stond dat ie werkte, maar ik heb er nog wat aan toegevoegd:
<?php
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
Je bent vergeten om de informatie die vanuit de query komt in een array of iets te zetten. Ik zou het volgende doen overigens een klein aanpassing in de code om in de toekomst problemen te voorkomen.
<?php
$sql = 'SELECT *
FROM '. $tbl_name .'
WHERE Gebruikersnaam='. mysql_real_escape_string($naam) .'
AND Wachtwoord='. mysql_real_escape_string($wachtwoord) .'
AND Recht=0';
$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);
Even Googlen en je zult waarschijnlijk het antwoord vinden. Komt erop neer dat een array een rij met waardes is, dus je zult het in die format moeten plaatsen wil je er dus zo mee omgaan.
Ik heb het meermaals gegoogled maar snap het nog niet :P
nu heb ik nog precies zo'n zelfde regel met nieuwe variabelen:
<?php
$voornaam = $result['Naam'];
?>
maar dat werkt weer niet...
De resultaten vanuit de query zijn gerelateerd aan de naam die ze dus hebben in de database. En vanuit je query neem ik dan aan dat het veld dat je bedoeld dus 'Gebruikersnaam' zou moeten heten in plaats van 'Naam'.
Nee, er zijn de velden Gebruikersnaam, Naam, Tussenvoegsel en Achternaam (en natuurlijk Punten).. Dus hij zou gewoon moeten werken.. Ook Achternaam doet t niet.. Zelfde fout als punten in eerste instantie gaf, de variabele verschijnt gewoon niet, zelfs geen php error..