Also, and I could be missing something, why is the name of your checkbox a php array name, even though it's not inside of the php delimiters?
Naming a checkbox as an array will allow PHP to then see all the values that were checked. Otherwise, through POST, PHP will only see the last value checked. That way you can reference them like $_POST['checkbox'][0...n]
About putting them through GET - Just give it a try! Set the form to GET, make the checkbox, make some selections, and see how it's passed and how PHP responds to it. If it doesn't work out, you might want to run a little JavaScript before the form is submitted, concatenating all checkbox variables with commas, and then changing the form's action to the new page, with the concatenated string in the URL. Then PHP will need to un-concatenate (or explode()) that particular variable.
Something like:
<script type='text/javascript'>
function doYourStuff()
{
var len = document.form.check.length;
var str = "";
for (var i = 0; i < len; i++)
{
str .= document.form.check[0].value + ",";
}
document.form.action = "page2.php?checkbox=" + str;
document.form.submit();
}
</script>
<form action='page2.php' method='get' name='form' onsubmit='return doYourStuff()'>
<input type='checkbox' name='check' value=1>1<br />
<input type='checkbox' name='check' value=2>2<br />
<input type='checkbox' name='check' value=3>3<br />
<input type='checkbox' name='check' value=4>4<br />
<input type='checkbox' name='check' value=5>5<br />
</form>
Warning: you will have to clean up that code before it works. I didn't even test it; I just wrote it right here quickly. I can pretty much guarantee you it will not work as is, but that is the basic skeleton you'll need. It is possible - just keep working at it.