PHP - form html no me ejecuta el codigo php

   
Vista:

form html no me ejecuta el codigo php

Publicado por Diego (20 intervenciones) el 20/05/2015 17:28:54
Buenas tardes. A ver.... ya lo revisé tantas veces que prefiero dejarlo y ver si alguien lo ve mas claro.

Tengo una pagina contacto.html con un form, clasico de consultas desde el sitio. Este es el código del form:

1
2
3
4
5
6
7
8
9
10
11
12
<form name="formulario" method="post" action="mail.php">
	<input name="nombre" type="text" class="textbox" value="Nombre" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Nombre ';}">
	<input name="email" type="text" class="textbox" value="Email" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Email';}">
	<input name="telefono" type="text" class="textbox" value="Teléfono" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Teléfono';}">
	<div class="clearfix"> </div>
	<div>
		<textarea name="mensaje" "value="mensaje:" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Su mensaje ';}">Su mensaje</textarea>
	</div>
	<div class="submit">
		<input type="submit" value="Enviar " />
	</div>
</form>

y tengo un archivo mail.php con el siguiente codigo;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$nombre = $_GET['nombre'];
$email = $_GET['email'];
$telefono = $_GET['telefono'];
$mensaje = $_GET['mensaje'];
$mail = "Nombre: $nombre\n E-Mail: $email\n Telefono: $telefono\n Consulta:\n $mensaje";
$titulo = 'CONSULTA DESDE EL SITIO WEB';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: xxxxxxxx <info@xxxxxxxx.com.ar\n";
$bool = mail("info@xxxxxxxx.com.ar",$titulo,$mail,$headers);
if($bool){
    echo "Mensaje enviado";
}else{
    echo "Mensaje no enviado";
}
?>
Al hacer click en enviar la pantalla parpadea y me deja en ella...y en la url quedan los datos supuestamente enviados.
Ahora bien...no solo no me envía el mensaje sino que ni siquiera si borro el codigo y solo pongo un echo hola; ni siquiera me pone eso. Es como que nunca ejecuta lo que le cargo en mail.php.
Quiero aclarar que estoy trabajando directamente sobre el servidor y este mismo codigo php lo ejecuto en otra pagina que estoy probando y funciona.
Sugerencias?

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

form html no me ejecuta el codigo php

Publicado por Maxi (13 intervenciones) el 20/05/2015 17:39:31
Tu formulario envía la información mediante post y tu utilizas la variable superglobal $_GET para capturarla. Deberías cambiar todos los $_GET por $_POST

Recomendaciones varias:

1. Hay una comilla de más antes del atributo value del textarea.
2. Prueba usar el atributo placeholder en lugar de javscript para mostrar un mensaje por defecto en tus inputs y textarea.
3. Utiliza la librería phpmailer (o alguna similar) para enviar correos mediante php. Los envíos de correo utilizando el servidor pueden ser considerados spam por los servidores de mail más utilizados.
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

form html no me ejecuta el codigo php

Publicado por Diego (20 intervenciones) el 20/05/2015 18:04:15
Hola Maxi, gracias por tu respuesta y por tus consejos, los voy a tomar.
Ya lo había leido tantas veces que no me di cuenta la diferencia que tenia entre GET y POST.

Ahora bien, hice esos cambios y no funciona, entonces en el archivo php dejé solo esto:

<?php
$nombre = $_POST['nombre'];
echo $nombre;
?>

y nada...no ejecuta el codigo .
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

form html no me ejecuta el codigo php

Publicado por Maxi (13 intervenciones) el 20/05/2015 18:53:38
Me resulta raro que no te funcione. Te adjunto una carpeta con tu ejemplo funcionado. archivo1.php contiene el formulario y archivo2.php lo recibe. Lo único que modifiqué fue el action de tu formulario para que apunte a archivo2.php.

Espero que con esto puedas detectar que es lo que no está funcionando en tu código.

https://mega.co.nz/#!hdIQBAID!8xQdpWbKIPiFb4pdgdeuD7QNwISUvS61U5kxuJWsZUM
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