tanımlanmamış aslında bir hata değil uyarıdır. Sıkıntı yapmaz. Dediğiniz gibi isset kullanmanız bunu çözecektir.

Url alanında gözükmesini istemiyorsanız get yazan yerleri post ile değiştirin.

Url alanında buton adı olmasın ama sayi id olsun diyorsanız da aşağıdaki gibi buton getini kullanmadan sayi get ini kullanabilirsiniz.







if($_GET['sayi']){
switch ($_GET['sayi']){
case 1:
echo "Değişken 1'dir.";
break;
case 2:
echo "Değişken 2'dir.";
break;
case 3:
echo "Değişken 3'tür.";
break;
default:
echo "Girdiğiniz sayı budur: ".$_GET['sayi'];
break;
}
}
else{
#Do nothing.
}
?>