aqui te dejo un ejemplo de como solucionar tu problema, la unica diferencia es que tienes que aumentar [ ] Corchetes al name de tu select y cuando lo recuperes recuperaras un arreglo:
Código PHP:
<form action="trataformulario.php" method="POST">
Nombre: <input type="text" name="nombre"><br>
Apellidos: <input type="text" name="apellidos"><br>
Email: <input type="text" name="email"> <br>
Cerveza: <br>
<select multiple name="cerveza[]">
<option value="SanMiguel">San Miguel</option>
<option value="Mahou">Mahou</option>
<option value="Heineken">Heineken</option>
<option value="Carlsberg">Carlsberg</option>
<option value="Aguila">Aguila</option>
...
</select><br>
<input type="submit" value="Enviar datos!" >
</form>
Y para recoger la información y tratarla actuaríamos del siguiente modo...
Código PHP:
echo "Nombre: ". $_POST["nombre"];
echo "<br>Apellidos: ". $_POST["apellidos"];
echo "<br>E-mail: ". $_POST ["email"];
$cervezas=$_POST["cerveza"];
//recorremos el array de cervezas seleccionadas. No olvidarse q la primera posición de un array es la 0
for ($i=0;$i<count($cervezas);$i++)
{
echo "<br> Cerveza " . $i . ": " . $cervezas[$i];
}
saludos, cya