Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 7 de 7

Tema: El formulario no se envía

  1. #1
    Recien Llegado! Merodeador
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    5
    Poder de Reputación
    0

    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">[img]clubdfanss1.jpg[/img]</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 = "danny4ever.fotolog@gmail.com";
    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!

  2. #2
    Me va gustando esto... Habitante
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Barcelona
    Mensajes
    79
    Poder de Reputación
    20
    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 = "danny4ever.fotolog@gmail.com";
    mail ($enviara,$asunto,$cuerpo);
    echo "Ya se ha enviado la solicitud, pronto recivirá un email nuestro con la confirmación. Muchas Gracias";
    ?>
    </body>
    </html>

  3. #3
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    21

    Tu Codigo Tiene Errores

    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 = "danny4ever.fotolog@gmail.com";
    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">[img]clubdfanss1.jpg[/img]</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... :)

  4. #4
    Recien Llegado! Merodeador
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    5
    Poder de Reputación
    0
    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

  5. #5
    Me va gustando esto... Habitante
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Barcelona
    Mensajes
    79
    Poder de Reputación
    20
    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.

  6. #6
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    499
    Poder de Reputación
    21

    Tu server no te permite la funcion mail();

    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.


  7. #7
    Recien Llegado! Merodeador
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    5
    Poder de Reputación
    0
    ok, gracias por la ayuda.
    conocéis algún servidor para subirlo?? si no no pasa nada

Temas Similares

  1. php no envia formulario
    Por agoncer en el foro Foro General
    Respuestas: 2
    Último Mensaje: 10/03/2012, 09:19
  2. no envia el formulario
    Por Mikel L en el foro Formularios
    Respuestas: 1
    Último Mensaje: 31/01/2008, 11:16

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •