[code]
<?php
session_start();
?>
<html>
<head>
<script type="text/javascript">
function autoTab(field,keycode){
    //change the focus
    if(keycode == 37){
        if(field != 'l1'){
            if(field == 'l3'){
                field = 'l1';
            }else if(field == 'l4'){
                field = 'l2';
            }else if(field == 'l5'){
                field = 'l3';
            }else if(field == 'l6'){
                field = 'l4';
            }else if(field == 'l7'){
                field = 'l5';
            }
			element = document.getElementById(field);
			if(element != null)
				element.focus();
        }
    }else if(keycode != 8 && keycode != 46){
        if(field != 'l7'){
			element = document.getElementById(field)
			if(element != null)
				element.focus();
        }
    }
}
</script>
<style type="text/css">
body{
    font-family: verdana;
    font-size: 11px;
    background: #DDF6FF;
}
table{
    font-family: verdana;
    font-size: 11px;
}

</style>
</head>
<body onload="autoTab('l2',event.keyCode);">
<?php
echo '<h1>Lingo!</h1>';
if(!isset($_POST['word']) && !isset($_POST['lingo']) || (isset($_POST['word']) && strlen($_POST['word']) != 6) && !isset($_POST['lingo'])){
    $_SESSION['secret_word'] = '';
    $_SESSION['words_done'] = '';
    $_SESSION['turn'] = '';
    echo 'Er is nog geen woord. Kies wat u wilt: <br />';
    
    //formulier voor een voorgezet woord
    echo 'Laat de computer het woord bepalen:';
    
    echo '<form method="POST" action="lingo.php">';
    echo '<input type="hidden" name="word" value="prefab">';
    echo '<input type="submit" value="Begin!" name="begin"> <br /> ';
    echo '</form>';
    
    //formulier voor een zelfgekozen woord
    echo 'Je kunt ook met zijn twee&#235;n spelen, een kiest het woord en de ander raad het <br />';
    echo 'Kies een woord van 6 letters: <br />';
    
    echo '<form method="POST" action="lingo.php">';
    echo '<input type="password" name="word" maxlength="6">';
    echo '<input type="submit" value="Begin!" name="begin">';
    echo '</form>';
}else{
    if(!isset($_POST['lingo'])){
        if($_POST['word'] == 'prefab' || strlen($_POST['word']) != 6){
            //woorden in een array gesmeten
            $words_array = array(
            'Banaan',
            'Letter',
            'Spelen',
            'Agenda',
            'Appels');
            //kies 1 array uit dat het woord bevat
            $number = array_rand($words_array);
            $word = str_split($words_array[$number]);
        }else{
            //We hoeven hier alleen het woord uit elkaar te plukken
            $word = array($_POST['word'][0],$_POST['word'][1],$_POST['word'][2],$_POST['word'][3],$_POST['word'][4],$_POST['word'][5]);
        }
    }else{
        //even het woord weer terughalen
        $word = unserialize(stripslashes($_SESSION['secret_word']));
    }
    if(isset($_SESSION['words_done']) && $_SESSION['words_done'] != ''){
        //wat heb je al gegokt?
        $words_done = unserialize(stripslashes($_SESSION['words_done']));
        $turn = $_SESSION['turn']+1;
    }else{
        //anders zorgen we dat je kan beginnen
        $turn = 0;
        $words_done = array();
    }
	//even toevoegen zodat het woord blijft staan
    if($_POST['l1'] && $_POST['l2'] && $_POST['l3'] && $_POST['l4'] && $_POST['l5'] && $_POST['l6'])
        $words_done[] = array($_POST['l1'],$_POST['l2'],$_POST['l3'],$_POST['l4'],$_POST['l5'],$_POST['l6']);
		
    $total_words_done = count($words_done);
    echo '<form method="POST" action="lingo.php">';
    $_SESSION['turn'] = $turn;
    $_SESSION['words_done'] = serialize($words_done);
    $_SESSION['secret_word'] = serialize($word);
    echo 'Aantal Beurten: '.$turn.' <br /> <br />';
    echo '<table style="text-align: center; width: 180px; border: 1px solid black; border-collapse: collapse;" border=1>';
    echo '<tr style="font-size: 20px;"><td>L</td><td>I</td><td>N</td><td>G</td><td>O</td><td>!</td></tr>';
    //vorige woorden weergeven
    $word_check = array();
	$guessed = false;
	
	//even voor de gele letters
	$letter_count = array();
	for($i = 0; $i < 6; $i++){
		$letter = strtolower($word[$i]);
		if(key_exists($letter,$letter_count)){
			$letter_count[$letter]++;
		}else{
			$letter_count[$letter] = 1;
		}
	}
	
    if($total_words_done > 0){
        foreach($words_done as $value){
            echo "<tr>";
            $count = 0;
			$tmp_letters = array();
            for($i = 0; $i < 6; $i++){
				$letter = $value[$i];
				//eerst eens kijken of we kunnen zeggen dat hij geel is
				$yellow = false;
				if(key_exists($letter,$letter_count)){
					//hij zit in de array, nu bepalen hoeveel er op de goede plaats zitten
					$aantal = 0;
					for($i2 = 0; $i2 < 6; $i2++)
						if(strtolower($value[$i2]) == $letter && (strtoupper($value[$i2]) == $word[$i2] || strtolower($value[$i2]) == $word[$i2]))
							$aantal++;
					//nu hebben we het aantal dus nu bepalen of er nog gele over zijn om uit te delen
					if($letter_count[strtolower($letter)] > $aantal){
						//even kijken of we deze gele niet al uitgedeeld hebben
						if(key_exists(strtolower($letter),$tmp_letters)){
							$aantal_te_delen = $letter_count[strtolower($letter)]-$aantal;
							//kijken of er nog genoeg over zijn
							if($aantal_te_delen > $tmp_letters[strtolower($letter)]){
								$yellow = true;
								if(strtoupper($letter) != $word[$i] && strtolower($letter) != $word[$i])
									$tmp_letters[strtolower($letter)]++;
							}
						}else{
							//we mogen hem zoiezo uitdelen!
							$yellow = true;
							//en nu toevoegen
							if(strtoupper($letter) != $word[$i] && strtolower($letter) != $word[$i])
								$tmp_letters[strtolower($letter)] = 1;
						}
						
					}
				}
			
                if(strtoupper($letter) == $word[$i] || strtolower($letter) == $word[$i]){
                    echo '<td style="background: #CAFFB2; width: 30px; font-size: 20px; height: 30px;">';
                    $word_check[$i] = true;
                    $count++;
                }else if( $yellow )
                    echo '<td style="background: #FDFFBC; width: 30px; font-size: 20px; height: 30px;">';
                else
                    echo '<td style="background: #FF728E; width: 30px; font-size: 20px; height: 30px;">';
                echo $letter;
                echo '</td>';
            }
            if($count == 6)
                $guessed = true;
            echo '</tr>';
        }
    }
    //het formulier weergeven als het nog niet geraden is
    if(!$guessed){
        echo '<tr>';
		echo '<td>';
		//eerste letter word altijd weergegeven
		echo '<input type="text" name="l1" id="l1" OnKeyUp="autoTab(\'l2\',event.keyCode);" style="width: 30px; font-size: 20px; height: 30px; text-align: center; background: #E5E5E5; border: 1px solid #9E9E9E;" maxlength="1" value="'.$word[0].'">';
		echo '</td>';
		for($i = 1; $i < 6; $i++){
			echo '<td>';
			echo '<input type="text" name="l' . ($i+1) . '" id="l' . ($i+1) . '" OnKeyUp="autoTab(\'l' . ($i+2) . '\',event.keyCode);" style="width: 30px; font-size: 20px; height: 30px; text-align: center; background: #E5E5E5; border: 1px solid #9E9E9E;" size="1" maxlength="1"';
			if($word_check[$i])
				echo ' value="'.$word[$i].'"';
			echo '></td>';
		}
        echo '</tr>';
        echo '</table>';
        echo '<input type="submit" value="Raad!" name="lingo">';
        echo '</form>';
    }else{
        echo '</table>';
        echo '</form>';
        echo '<br />Je hebt het woord geraden!';
        echo '<br />Klik <a href="lingo.php">hier</a> om nog eens te spelen!';
    }
}
?>
</body>
</html>
[/code]