quando utilizzi una variabile di cui non è certa l'esistenza perchè, come in questo caso, è settata (indirettamente) dall'utente devi trattarla in modo idoneo prevedendo:
1) la mancata esistenza;
2) esistenza di un valore diverso rispetto a quello "atteso".

Nel caso di specie la variabile $_GET['val'] è/può essere settata (indirettamente) dall'utente ma lo script si "attende" di ricevere un numero intero compreso fra 1 e 6.

Ergo:
Codice PHP:
// se essite $_GET['val'] -> lo "converto" in intero
// se non essite lo imposto a 0 (zero)

$n = isset($_GET["val"]) ? intval(stripslashes($_GET["val"])) : 0