Skip to main content

Debugging

In deze les gaan we code debuggen

In de onderstaande blokjes code zitten meerdere fouten, haal deze eruit en maak de code werkend.

Opgave 1

<?php
for($i=0; $i<10; $i++)
    echo $i."<br>"
}

Opgave 2

<?php
$a=1;
if ($a) {
	echo "Hello darkness my old friend!"
else {
	echo "There is no way this will go around";
}

Opgave 3

<?php

$string="Hallo";
echo <<< TEKST
    $string allemaal
TEXT;

echo "<br>";
echo 'Nog een keer $string';

Opgave 4

<?php
$myArray=["a","b","c","d","e"];
array_push($myArray,k,l,m,n,o);
echo strtoupper(array_shift($myArray));
echo strtoupper(array_pop($myArray));

Opgave 5

<?php
$myArray=[ [ titel => 'The Adventures of Olm', 'price' => 9.89 ],
        [ titel => 'Speak Louder', 'price' => 12.49 ],
        [ titel => 'Advanced PHP', 'price' => 34.99 ] ];

foreach ($myArray as $item) {
    foreach($item as $key => $value) {
        echo $key.':'.$value."<br>"
    }
    echo <hr>;
}

Opgave 6

Deze code geeft geen foutmelding, maar de browser blijft hangen. Waarom? Verbeter de code.

<?php
for ($i=0; $i<10; $i++) {
    if ($i=1) {
         echo $i."<br>";
    }  
}

Opgave 7

Deze code geeft foutmelding, en de browser blijft (mogleijk) hangen. Waarom? Verbeter de code.

<?php
for($nummer=0; $nummer<10; $number++)
	if ($number%2==0) {
		echo "Just antoher line....";
   		echo "...and the even number is....".$number."<br>";
}

Opgave 8

Als output moet er een goede tabel komen met twee kolommen. In kolom 1 staat 1 t/m 10 en in kolom 2 staat 2,4,6,8,10

<?php
echo "<table><br>";
for($i=1;$i<10;$i=$i+1)
    echo "<tr>";
    echo "<td>".$i."</td><td>".$i*2.</td>";
    echo "</tr>";
}
echo "</table><br>"

?>

Opgave 9

function setMyCookie() {
    echo "<pre>";
    print_r($_COOKIE);

    echo "Set cookie";
    if ( isset( $_COOKIE['counter'] ) )
        $counter = $_COOKIE['counter'] + 1;
    } else {
        $counter = 0;
    }
    setcookie('counter',$counter,time()+10);

    print_r($_COOKIE);
    echo "</pre>"
}

?>
<?php setMyCookie(); ?>

Opgave 10

<?php
$i=0;
$total=-3;
while($i++<30) {
    if ($total<100 && $total<>O ) {
        $total+=$i;
    } else {
        $total-=$i;
    }
}
echo $total;

// Uitkomst moet 88 zijn!