<?php 
    
if (isset($_GET["source"])) {
        
highlight_file(__FILE__);
        exit;
    }
    
    if (isset(
$_GET["query"])) {
        
$zoekresultaten "Zoekresultaten voor '" htmlentities($_GET["query"]) . "' komen hier.";
    }
    else {
        
$zoekresultaten ""// anders genereert PHP later een E_NOTICE error over dat de variabele niet bestaat.
    
}
?>

<form action="zoekform.php" onsubmit="return doeZoeken(this);">
    <input type=text name=query size=50 /><br/>
    <input type=submit value=Zoeken />
</form>

<a href="javascript: jsuit();">Javascript uitschakelen?</a> <a href="zoekform.php?source">broncode</a><br/>
<br/>
<div id=results><?php echo $zoekresultaten?></div>

<script>
    function jsuit() {
        // Dit overschrijft de bestaande doeZoeken functie naar een functie die enkel 'true' returned.
        // Zoals je in de onsubmit parameter ziet, het resultaat van de doeZoeken functie wordt vervolgens weer
        // gereturned aan het form zelf. Dit is om validatie te kunnen doen: de submit wordt alleen uitgevoerd wanneer
        // er true wordt gereturned. In het geval dat je met javascript de resultaten ophaalt wil je dit toch niet en
        // daarom returnen we standaard altijd false. In het geval dat het zonder javascript moet, moeten we het form
        // true returnen om de submit uit te voeren. Mensen die JS uitgeschakeld hebben kunnen de onsubmit nooit
        // uitvoeren, dus zal het form altijd gesubmit worden. Deze jsuit() functie bootst dat dus na.
        doeZoeken = function(){ return true; };
    }
    
    function doeZoeken(form) {
        // asynchroon javascript enzo hier.
        // zoekquery kun je vinden in de variabele: form.query.value
        document.getElementById("results").innerHTML = "resultaat voor '" + form.query.value + "' komt hier";
        return false;
    }
</script>