PHP - Problema con formulario

 
Vista:

Problema con formulario

Publicado por Aalex (6 intervenciones) el 23/05/2019 19:30:55
Hola, os agradeceria ayuda, no consigo el envio de email a traves de este formulario de un template

El formulario tiene el siguiente codigo...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="wrap-col">
<div class="text1">Díganos, en que podemos ayudarle?</div>
<form id="form">
<div class="success_wrapper">
<div class="success">Su consulta ha sido enviada!<br>
<strong>Entraremos en contacto a la mayor brevedad posible.</strong> </div></div>
<fieldset>
<label class="name">
<input type="text" value="Nombre:" name="name">
<br class="clear">
<span class="error error-empty">*Nombre inválido.</span><span class="empty error-empty">*Campo necesario.</span> </label>
<label class="email">
<input type="text" value="E-mail:" name="name">
<br class="clear">
<span class="error error-empty">*email inválido.</span><span class="empty error-empty">*Campo necesario.</span> </label>
<label class="message">
<textarea name="message">Mensaje:</textarea>
<br class="clear">
<span class="error">*El mensaje es muy corto.</span> <span class="empty">*Campo necesario.</span> </label>
<div class="clear"></div>
<div class="btns"><a data-type="submit" class="link1">Enviar.</a>
<div class="clear"></div>
</div></fieldset></form>


Y hay un codigo .php que se llama MailHandler.php que dice lo siguiente...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
$owner_email = "email@email.com";
$headers = 'From:' . $_POST ["email"];
$subject = 'Nuevo mensaje desde el formulario ' . $_POST["name"];
$messageBody = "";
 
if($_POST['name']!='nope'){
    $messageBody .= '<p>Cliente: ' . $_POST["name"] . '</p>' . "\n";
    $messageBody .= '<br>' . "\n";
}
if($_POST['email']!='nope'){
    $messageBody .= '<p>email: ' . $_POST['email'] . '</p>' . "\n";
    $messageBody .= '<br>' . "\n";
}else{
    $headers = '';
}
 
if($_POST['message']!='nope'){
    $messageBody .= '<p>Mensaje: ' . $_POST['message'] . '</p>' . "\n";
}
 
if($_POST["stripHTML"] == 'true'){
    $messageBody = strip_tags($messageBody);
}
 
try{
    if(!mail($owner_email, $subject, $messageBody, $headers)){
        throw new Exception('mail failed');
    }else{
        echo 'mail sent';
    }
}catch(Exception $e){
    echo $e->getMessage() ."\n";
}
?>

Aun cambiando el [email protected] por el email de destino sigo sin recibirlo.

Os agradezco vuestra ayuda.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Kathyu (905 intervenciones) el 23/05/2019 19:35:30
1
<form id="form">

El form no hace nada. Debe llevar un action

1
<form action="carpeta/archivo.php" id="form-solicitud" name="form-solicitud" class="form-horizontal" style="display: inline-flex;" enctype="multipart/form-data" method="POST">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con formulario

Publicado por Aalex (6 intervenciones) el 23/05/2019 21:19:38
Hola Kathyu, gracias por responder. Continuo sin recibir nada. No se que puede pasar, ya lo he intentado todo. Si pudieras explicarme bien que hacer te lo agradeceria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Kathyu (905 intervenciones) el 23/05/2019 22:01:19
Haga un
1
2
3
echo '<pre>';
   print_r($_POST);
echo '<pre>';

En su archivo php y veamos que es lo que le llega a ese archivo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de italo_pm
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por italo_pm (193 intervenciones) el 24/05/2019 00:40:18
Hola

aparte de las recomendaciones de @Kathyu, hay errore como los siguiente que en el otro file es claro que no encontrara los referimientos:

derias de corregir name="name" con los nombres que correspondan.

1
2
3
4
<form id="form">
<input type="text" value="Nombre:" name="name">
<input type="text" value="E-mail:" name="name">
<div class="btns"><a data-type="submit" class="link1">Enviar.</a>

aqui hay un espacio entre $_POST y ["email"];

1
$headers = 'From:' . $_POST ["email"];

prueba.

salud2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con formulario

Publicado por Aalex (6 intervenciones) el 24/05/2019 11:24:11
Hola Italo, gracias por escribir. Nada, no se que pasa pero no lo consigo. Se supone que solo era cambiar el email en $owner_email = "[email protected]"; por el email de destino pero no recibo nada, no se si he hecho algo o que pero no funciona. Le estare agradecido a aquel que pueda ayudarme con esto....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Mauro (1037 intervenciones) el 24/05/2019 14:47:43
¿Estás viendo alguna excepción?

Según el código

1
2
3
4
5
6
7
8
9
try{
    if(!mail($owner_email, $subject, $messageBody, $headers)){
        throw new Exception('mail failed');
    }else{
        echo 'mail sent';
    }
}catch(Exception $e){
    echo $e->getMessage() ."\n";
}

Deberías ver un mensaje "mail failed" o "mail sent"... ¿cuál de los dos estás viendo? Si no ves ninguno eso significa que este script no se ejecutó (y por lo tanto no se trata de que no recibes el mail si no de que nunca lo enviaste).

Si ves "mail sent" el problema puede estar del lado del receptor (Por ejemplo, ¿verificaste en tu carpeta de correo no deseado?)

Si ves "mail failed" es probable que tengas un problema en la configuración de php.

En general, la función mail no es una buena idea... aquí te dejo un artículo donde puedes ver otros modos de realizar los envíos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con formulario

Publicado por Aalex (6 intervenciones) el 24/05/2019 18:11:52
Gracias mauro, no se que pasa, lo he intentado todo y nada...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Kathyu (905 intervenciones) el 24/05/2019 18:25:09
Tengo mis dudas con esto.

No me voy a meter en la parte del envió de mail. Pase los archivos esos, los puros, quiero ver que es lo que le pasa al formulario que no envía nada al php.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Mauro (1037 intervenciones) el 27/05/2019 21:27:04
Imagino que "todo" no, jeje... ¿qué pasó con lo que te sugerí? ¿viste algún mensaje de los que figuran en tu script?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con formulario

Publicado por Aalex (6 intervenciones) el 24/05/2019 18:29:14
Hagamos algo, olvidaos de lo que escribi al inicio... Como hariais funcionar el siguiente formulario?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="wrap-col">
<div class="text1">Díganos, en que podemos ayudarle?</div>
<form id="form">
<div class="success_wrapper">
<div class="success">Su consulta ha sido enviada!<br>
<strong>Entraremos en contacto a la mayor brevedad posible.</strong> </div></div>
<fieldset>
<label class="name">
<input type="text" value="Nombre:" name="name">
<br class="clear">
<span class="error error-empty">*Nombre inválido.</span><span class="empty error-empty">*Campo necesario.</span> </label>
<label class="email">
<input type="text" value="email:" name="email">
<br class="clear">
<span class="error error-empty">*email inválido.</span><span class="empty error-empty">*Campo necesario.</span> </label>
<label class="message">
<textarea name="message">Mensaje:</textarea>
<br class="clear">
<span class="error">*El mensaje es muy corto.</span> <span class="empty">*Campo necesario.</span> </label>
<div class="clear"></div>
<div class="btns"><a data-type="submit" class="link1">Enviar.</a>
<div class="clear"></div>
</div></fieldset></form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Kathyu (905 intervenciones) el 24/05/2019 19:02:53
Funcionar en que o que??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con formulario

Publicado por Aalex (6 intervenciones) el 25/05/2019 12:22:06
A ver, vayamos por partes, con respecto al formulario, esta bien, le falta algo?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form id="form">
	<div class="success_wrapper">
	<div class="success">Su consulta ha sido enviada!<br>
	<strong>Entraremos en contacto a la mayor brevedad posible.</strong> </div></div>
	<fieldset>
	<label class="name">
	<input type="text" value="Nombre:" name="name">
	<br class="clear">
	<span class="error error-empty">*Nombre inválido.</span><span class="empty error-empty">*Campo necesario.</span> </label>
	<label class="email">
	<input type="text" value="email:" name="email">
	<br class="clear">
	<span class="error error-empty">*email inválido.</span>
	<span class="empty error-empty">*Campo necesario.</span> </label>
	<label class="message">
	<textarea name="message">Mensaje:</textarea>
	<br class="clear">
	<span class="error">*El mensaje es muy corto.</span> <span class="empty">*Campo necesario.</span> </label>
	<div class="clear"></div>
	<div class="btns"><a data-type="submit" class="link1">Enviar.</a>
	<div class="clear"></div>
	</div></fieldset>
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Kathyu (905 intervenciones) el 27/05/2019 16:39:10
1- Ya le dijeron que name="name" es incorrecto.
2- No necesita value para poner Nombre: => Para eso es el Placeholder (todos sus valúes cámbielos incluyendo el textarea)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar