Hallo,

Ik wil voor het kiezen van data uit een tabel 2 selectboxen gebruiken,
ff simpel voorbeeldje men kan dus selecteren op naam of land

<select name="naam">
<option value="jan">Jan</option>
<option value="piet">Piet</option>
</select>

<select name="land">
<option value="nl">NL</option>
<option value="be">NL</option>
</select>

Dus select from table WHERE naam = jan
of indien de 2e selectbox wordt gebruikt:
select from table WHERE land = nl

Iemand een idee of voorbeeldje.

Met isset kom ik niet helemaal terecht


<?php if( isset($_POST['year']) )
{
     $xxx = $_POST["year"];

} else  $xxx = $laatste_jaar;

if( isset($_POST['plaats']) )
{
    $xxx = $_POST["plaats"];

}?>

<?php echo $xxx; ?>


Ik krijg alleen plaats geprint het jaar niet indien gekozen, het selecteren van plaats of jaar werkt overigens wel
Logisch: op regel 9 overschrijf je $xxx van regel 3 / 5
Ik heb het anders opgelost.
Als ik de var op regel 9 andere naam geef lost dit niks op voor regel 3/5 ?
Pierre Web op 17/09/2015 12:21:50

Ik heb het anders opgelost.

Hoe dan??

Pierre Web op 17/09/2015 12:21:50

Als ik de var op regel 9 andere naam geef lost dit niks op voor regel 3/5 ?

Waarom denk/vraag je dat? Volgens mij namelijk wel.
Ik zou variabelen alleen geen naam als $xxx geven, maar bv. $jaar / $plaats
Dan doe ik iets verkeerd...

$xxx is alleen tijdelijk voor testje.
Johan K op 15/09/2015 22:46:22
Als jij dit toelaat in een string die toegang heeft in jouw database geef je de gebruiker de mogelijkheid om ook daar zonder wachtwoord code uit te voeren. Dit word dan ook een SQL-injectie genoemd.

Actually, no. Een SQL-injectie is het manipuleren van een query waarbij de DATA-delen in een query als SQL geinterpreteerd worden, waarmee je effectief het gedrag van de query kunt veranderen. Injecties zijn mogelijk doordat de DATA-delen onvoldoende zijn beveiligd (door middel van onder andere, maar niet uitsluitend escaping).

Johan K op 15/09/2015 22:46:22
Het escapen is niets meer dan " en ' te vervangen door \" en \' zodat deze tekens "geescaped" worden zodat de PHP interpreter deze tekens (", ') niet interpreteert als een begin of eind van een string.

Dit lijkt mij een oversimplificatie (denk bijvoorbeeld ook aan backslashes (\) en NUL (NULL byte) als je het over string(waarde)s hebt). Daarnaast is het praten over escaping (een definitie hiervan zou kunnen zijn: het ontdoen van de speciale betekenis van een (reeks) karakter(s) binnen een bepaalde context) zinloos als je daarbij niet aangeeft over welke context het gaat (denk aan HTML, een URL, JavaScript, (My)SQL et cetera).

Reageren