imagefill can't deal with alpha colors, use imagefilledrectangle instead.
<?php
header("Content-Type: image/png");
$im = imagecreatefrompng("img/button.png");
if (empty($_GET['alpha']))
{$_GET['alpha'] = 10;}
$color = imagecolorallocatealpha($im, 255, 255, 255, $_GET['alpha']);
imagefillalpha($im, $color);
imagepng($im);
imagedestroy($im);
function ImageFillAlpha($image, $color)
{
imagefilledrectangle($image, 0, 0, imagesx($image), imagesy($image), $color);
}
?>