Ik heb in een MySQL database sensorwaarden staan. Deze waarden lees ik uit en bewerk ik met PHP en toon ik in een grafiek. In de grafiek wordt data van die dag getoond.
Nu wil ik boven de grafiek twee knoppen maken met, "Volgende dag" en "Vorige dag" zodat je van andere dagen de sensorwaarden kunt zien. Ik moet dus op een of andere manier onthouden welke dag in de grafiek is ingeladen. Hoe kan ik dit doen?
Andere optie is om het in de sessie te proppen (indien die beschikbaar is).
Voordeel is dat je gebruiker een schone URL heeft en dat je minder kans hebt op SQL-injectie via je URLs.
Nadelen zijn o.a. dat je de sessie gebruikt (kost ruimte, is trager dan GET) en dat het niet te bookmarken is door de gebruiker.
Oke, als ik het goed begrijp haalt de functie bepaalde karakters uit een string?
Als dit mijn url van de GET is: Waardes.php?dag=04-03-2015 dan zou ik toch de string 04-03-2015 kunnen controleren of deze aan een datum formaat voldoet? Dan zou SQL injectie toch niet mogelijk moeten zijn, of zie ik dat verkeerd?
Die controle komt pas nadat je de query uitvoert, dus je kan nog altijd een SQL-injection uitvoeren, ondanks iemand de melding krijgt dat de datum niet correct is.
Waarom zou die controle pas na het uitvoegen van de query komen? Als de datum via GET word doorgegeven kun je op elk gewenst moment de datum valideren/escapen.
Of je dat nou met real_escape_string, checkdate of op een andere manier doet maakt niets uit.