1) if you have a bunch of checkboxes, you should probably give them different names. you don't have to, but it would probably be easier to understand what's going on.
if you insist on these checkboxes all having the same name, then you need to add [] to the name like this:
<input type="checkbox" name="mycheckbox[]" value="value_goes_here">
this tells PHP that the checkboxes are supposed to define an array and will result in an array being defined in $GET['mycheckbox'] or $POST['mycheckbox'] or $_REQUEST['mycheckbox'] or whatever.
if your form method id "post", for instance, you can get at the values that result by doing something like this:
foreach($_POST['mycheckbox'] as $key => $value) {
echo $key . " has a value of " . $value;
}
2) This is kind of a tricky problem. You will notice that this site shows you a message that says something like "thanks for your post, you are being redirected" and then the page automatically redirects to another page. That is probably the most effective way to do it -- redirect the browser to another page. This can either be done by sending a header() like this:
header("Location: http://www.example.com/");
or by outputting an html meta tag like this:
<meta http-equiv="refresh" content="5;url=http://www.mydomain.com/forward.html">
I have seen other ways that people accomplish this but don't recall any specifics. I think what it does is create some kind of unique identifier in the form which gets stored in the database or the session or something. If a user hits 'refresh' on the page that handles your form input, a check is performed to see if this value is already in session or if it is in the database. if it is, you say, "we've already handled your form" or redirect the user or whatever.