זה כי אתם עובדים גרוע...
PHP קוד:
if (isset($_GET['val'])) $val = $_GET['val']; else $val = "";
ולא
PHP קוד:
$val = $_GET['val'];
והשגיאות על המשתנים יעלמו כליל.
בנוגע לזה שזה לא קובע SESSION - בדוק ש register_globals פעיל, רוב הסיכויים שאתה משתמש במשתנה לא מוגדר, ואם globals מכובה - המשתנה לא קיים.