El formulario no se envía

es formulario es este:
http://danny4ever.webcindario.com/club.html

ahora doy toda la información que tengo que dar:
primero hice el formulario en html, pero cuando llegué al botón vi que no había opción para que se enviara a una dirección que la pusieras y fin, asi que le pregunté a un amigo (webmaster de una web que no tiene nada que ver) y me dijo que tenía que poner una salida php, pero como no entendí lo que decía me dijo que lo haría él, asi que lo hizo, me lo pasó y subí el html y después el php, y sí, están en la misma carpeta.
os subo ambos códigos, el de html es:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
body,td,th {
color: bf0000;
}
body {
background-color: #fad31e;
}
-->
</style></head>

<body>
<p align="center">[contenido no disponible]</p>


</p>
<table width="578">
<form action="enviar.php" method="post">
<tr>
<td width="114">
Nombre*:</td>
<td width="300">
<input type="text" name="nombre" size="50" />
</td></tr>
<tr>
<td>
Apellidos*:
</td><td>
<input type="text" name="apellidos" size="50" />
</td></tr>
<tr>
<td>
Localidad*:
</td><td>
<input type="text" name="localidad" size="50" />
</td></tr>
<tr>
<td>
Provincia*:
</td><td>
<input type="text" name="provincia" size="50" />
</td></tr>
<tr>
<td>
Código Postal:
</td><td>
<input type="text" name="cp" size="10" maxlength="5" />
</td></tr>
<tr>
<td>
Teléfono:
</td><td>
<input type="text" name="nombre" size="50" maxlength="9" />
</td></tr>
<tr>
<td>
E-mail*:
</td><td>
<input type="text" name="email" size="50" />
</td></tr>
<tr>
<td>
Nickname (alias, apodo):
</td>
<td>
<input type="text" name="nick" size="50" />
</td></tr>
<tr>
<td>
Direcci&oacute;n (calle, número...)
</td><td>
<input type="text" name="nombre" size="50" />
</td></tr>
<tr>
<td>
<input type="submit" value="Enviar" />
</td>
</tr>
</form>
</table>

</body>
</html>



donde pone clubdfanss.jpg es la foto, que es esta:
http://danny4ever.webcindario.com/clubdfanss1.jpg
que no creo que sea necesario pero lo digo por si acaso, y el código de php es:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Envio</title>
</head>

<body>
<?
if ($nombre == "") {
echo "Debe introducir su nombre";
break;
else {
if ($apellidos == "") {
echo "Debe introducir sus apellidos";
break;
}
if ($localidad == "") {
echo "Debe introducir su localidad";
break;
}
if ($provincia == "") {
echo "Debe introducir su provincia";
break;
}
if ($email == "") {
echo "Debe introducir su E-mail";
break;
}
}
}
$cuerpo = "Don/Doña ".$nombre." ".$apellidos."( ".$apodo.") Que vive en ".$direccion.", "."CP: ".$cp." ".$localidad." (".$provincia." ). Con teléfono: ".$telefono-" y E-mail: ".$email. "Se ha dado de alta como nuevo Fan de Danny. Muchas gracias.";
$asunto = "Nuevo Fan";
$enviara = "[correo eliminado]";
mail ($enviara,$asunto,$cuerpo);
echo "Ya se ha enviado la solicitud, pronto recivirá un email nuestro con la confirmación. Muchas Gracias";
?>
</body>
</html>


el problema exacto es que si el php lo guardo de nombre "enviar", como se guarda como enviar.php, y para "enviarlo" va a esa "dirección" me pone:


El sitio web no puede mostrar la página
HTTP 500
Causas más probables:
El sitio web está en mantenimiento.
El sitio web tiene un error de programación.

Puede intentar lo siguiente:
Actualice la página.

Regresar a la página anterior.

Más información



y si actualizo la página me dice:

Parse error: syntax error, unexpected T_ELSE in /home/webcindario/d/a/danny4ever/enviar.php on line 13


y si lo guardo con otro nombre directamente me dice el típico error de miarroba de que no existe la oágina solicitada, pero el caso es que no se envía.
Si para ayudarme necesitáis hacer pruebas para ver si se envía, poner un punto a cada opción, para no tener que poner vuestros datos, gracias!
[imagen no disponible]
Hay un error en el PHP:

l código de php es:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Envio</title>
</head>

<body>
<?
if ($nombre == "") {
echo "Debe introducir su nombre";
break;
} // <----- Fataba cerrar el if
else {
if ($apellidos == "") {
echo "Debe introducir sus apellidos";
break;
}
if ($localidad == "") {
echo "Debe introducir su localidad";
break;
}
if ($provincia == "") {
echo "Debe introducir su provincia";
break;
}
if ($email == "") {
echo "Debe introducir su E-mail";
break;
}
}
} // <---- Creo que este sobra, bórralo
$cuerpo = "Don/Doña ".$nombre." ".$apellidos."( ".$apodo.") Que vive en ".$direccion.", "."CP: ".$cp." ".$localidad." (".$provincia." ). Con teléfono: ".$telefono-" y E-mail: ".$email. "Se ha dado de alta como nuevo Fan de Danny. Muchas gracias.";
$asunto = "Nuevo Fan";
$enviara = "[correo eliminado]";
mail ($enviara,$asunto,$cuerpo);
echo "Ya se ha enviado la solicitud, pronto recivirá un email nuestro con la confirmación. Muchas Gracias";
?>
</body>
</html>
Hola Amigo, tus Codigos Tanto Html como php tienen algunos errores:

...
<form action="enviar.php" method="post">
<tr>
<td width="114">
Nombre*:</td>
<td width="300">
<input type="text" name="nombre" size="50" />
...
Teléfono:
</td><td>
<input type="text" name="nombre" size="50" maxlength="9" />
</td></tr>
...
<td>
Direcci&oacute;n (calle, número...)
</td><td>
<input type="text" name="nombre" size="50" />
</td></tr>
...

El Campo name="nombre" Lo Repites Varias Veces.

<?
if ($nombre == "") {
echo "Debe introducir su nombre";
break;
}else {
if ($apellidos == "") {
echo "Debe introducir sus apellidos";
break;
}
if ($localidad == "") {
echo "Debe introducir su localidad";
break;
}
if ($provincia == "") {
echo "Debe introducir su provincia";
break;
}
if ($email == "") {
echo "Debe introducir su E-mail";
break;
}
}
}

$cuerpo = "Don/Doña ".$nombre." ".$apellidos."( ".$apodo.") Que vive en ".$direccion.", "."CP: ".$cp." ".$localidad." (".$provincia." ). Con teléfono: ".$telefono-" y E-mail: ".$email. "Se ha dado de alta como nuevo Fan de Danny. Muchas gracias.";
$asunto = "Nuevo Fan";
$enviara = "[correo eliminado]";
mail ($enviara,$asunto,$cuerpo);
echo "Ya se ha enviado la solicitud, pronto recivirá un email nuestro con la confirmación. Muchas Gracias";
?>
</body>
</html>

En ".$telefono-" Deveria Ir un . en lugar del - , error de dedo creo, La Ultima llave no va.

Ademas desconosco la configuracion de tu servidor, y no veo donde recojas las variables, eso te da mayor seguridad de que los datos sean resividos.

Te Pongo el codigo que hice y probe y funciona:

formulario html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
body,td,th {
color: bf0000;
}
body {
background-color: #fad31e;
}
-->
</style></head>

<body>
<p align="center">[contenido no disponible]</p>


</p>
<table width="578"><form action="form.php" method="post">
<tr><td width="114">
Nombre*:</td>
<td width="300"><input type="text" name="nombre" size="50" />
</td></tr><tr><td>
Apellidos*:</td>
<td><input type="text" name="apellidos" size="50" />
</td></tr><tr><td>
Localidad*:</td>
<td><input type="text" name="localidad" size="50" />
</td></tr><tr><td>
Provincia*:</td>
<td><input type="text" name="provincia" size="50" />
</td></tr><tr><td>
Código Postal:</td>
<td><input type="text" name="cp" size="10" maxlength="5" />
</td></tr><tr><td>
Teléfono:</td>
<td><input type="text" name="telefono" size="50" maxlength="9" />
</td></tr><tr><td>
E-mail*:</td><td>
<input type="text" name="email" size="50" />
</td></tr><tr><td>
Nickname (alias, apodo):</td><td>
<input type="text" name="nick" size="50" />
</td></tr><tr><td>
Direcci&oacute;n (calle, número...)</td><td>
<input type="text" name="direccion" size="50" />
</td></tr><tr><td>
<input type="submit" value="Enviar" />
</td></tr></form></table>
</body></html>

form PHP

<?
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$localidad=$_POST['localidad'];
$provincia=$_POST['provincia'];
$email=$_POST['email'];
$cp=$_POST['cp'];
$apodo=$_POST['nick'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];

if($nombre == ""){
echo "Debe introducir su nombre
";
}elseif($apellidos == ""){
echo "Debe introducir sus apellidos
";
}elseif($localidad == ""){
echo "Debe introducir su localidad
";
}elseif($provincia == ""){
echo "Debe introducir su provincia
";
}elseif($email == ""){
echo "Debe introducir su E-mail
";
}else{
$cuerpo = "Don/Doña $nombre $apellidos ($apodo) \n Que vive en $direccion \n CP: $cp $localidad ($provincia).\n Con teléfono: $telefono y E-mail: $email \n Se ha dado de alta como nuevo Fan de Danny. Muchas gracias.";
$asunto = "Nuevo Fan";
$enviara = "tuemail";
if(!mail ($enviara,$asunto,$cuerpo)){
echo"Error No Se Puede Enviar El Email";
}else{
echo "Ya se ha enviado la solicitud, pronto recivirá un email nuestro con la confirmación. Muchas Gracias";
}
}
?>

Espero Y Te Sirva Amigo... :)
Gracias pero...
provando la primera respuesta, seguía igual :? y tras provar el segundo post, sigue sin dejarme pero, esta vez, me dice lo siguiente:


Warning: mail() has been disabled for security reasons in /home/webcindario/d/a/danny4ever/form.php on line 26
Error No Se Puede Enviar El Email


motivos de seguridad? :? no lo entiendo, ayuda porfavor, si os hace falta pasar a mi cuenta, os paso la contraseña por un privado
[imagen no disponible]
En los servidores gratuitos casi siempre está desactivada la función mail para evitar el SPAM. Tendrás que buscar un formulario de envio de emails gratuito o un servidor que acepte ese comando.
El error que ahora te sale es simplemente que no puede usar la funcion mail(); esta desabilitada en tu servidor, el codigo funciona, solo que tu servidor no te permite el usar la funcion mail();

Tendras que buscar otra forma de enviar los correos, o buscar otro servidor.

8) 8)
ok, gracias por la ayuda.
conocéis algún servidor para subirlo?? si no no pasa nada :wink: