Ik heb hier een scriptje om te kijken of ik nog langer in de gevangenis moet zitten (bij een spel dan;)) ik heb in de database gezet dat ik pas in 2012 vrij mag zijn alleen staat er dan alleen "je bent om vrij". terwijl ik toch echt de tijd overal goed heb staan, ziet iemand het probleem?
<code>
<?php
//Verbinding met de session, db, error reporting, etc..
include('htmltop.php');
//de query om de wachttijd op te halen
$sql = "SELECT wachttijd1 FROM gebruikers WHERE id='".$_session['user_id']."'";
$query = mysql_query($sql);
$data = mysql_fetch_object($query);
//kijken of de wachttijd langer is dan hoelaat het nu is zo nee, dan ben ik vrij, zo ja dan zegt hij wanneer ik vrij ben:D
if ($data['wachttijd1'] <= 'NOW()') {
echo "je tijd zit erop";
} else { echo "je ben om ".$data['wachttijd1']." vrij";} ?>
</code>
Moet ik NOW() anders in de query zetten? ik heb echt geen idee
je moet eerst maar es je titel aanpassen ;D
En nog de volgende punten bestuderen / oplossen:

- SQL injection mogelijk
- mysql_fetch_object is onzin, mysql_fetch_assoc gebruiken.
SQL injection kon je toch tegen gaan daar die lange string? (die gebruik ik wel altijd als ik iets $_post enzo)

daar die lange string..

Die snap ik niet?

SQL injection kan worden tegen gegaan met: [php]mysql_real_escape_string[/php]
Die ja, die gebruik dus voor wat er uit de $SQL komt?
Nee je moet mysql_real_escape_string oiver je $_session['user_id'] gooien. Verder is NOW geen php maar SQL, je kan NOW dus enkel gebruiken in je query
nee dat moet je doen voor wat eruit komt, en wat je gebruikt in je query dus in dit geval de mysql_real_escape_string over je id halen
leuk dat je paar seconden eerder reageerd jasper;p

Reageren