Foros del Web » Programando para Internet » PHP »

Problema envio formulario PHP + Form en Divs

Estas en el tema de Problema envio formulario PHP + Form en Divs en el foro de PHP en Foros del Web. Hola: Me encuentro realizando un website y el código que utilizo normalmente para envío de emails no funciona, parece que no llegan las variables desde ...
  #1 (permalink)  
Antiguo 02/02/2012, 04:39
 
Fecha de Ingreso: febrero-2012
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Problema envio formulario PHP + Form en Divs

Hola:

Me encuentro realizando un website y el código que utilizo normalmente para envío de emails no funciona, parece que no llegan las variables desde el formulario html a la zona de php, podría deberse al uso de divs dentro del form?

Codigo HTML:

<br style="line-height:15px;">
<form id="form1" enctype="text/plain" action="mensajes_candido.php" method="post" name="form1">
<table style="width:auto;height:auto;">
<tr>
<td style="width:180px;">
Nombre:<br>
<div class="form"><input type="text" id="Name1"></div>
Empresa:<br>
<div class="form"><input type="text" id="Empresa1"></div>
Telefono:<br>
<div class="form"><input type="text" id="Phone1"></div>
E-mail:<br>
<div class="form"><input type="text" id="Email1"></div>
</td>
<td style="width:auto;">
Texto:<br>
<textarea rows="20" cols="30" id="Message1"></textarea><br>
<br style="line-height:10px;">
<font><a href="#" onclick="document.getElementById('form1').reset()" >Borrar</a></font>&nbsp; &nbsp; <font><a href="#" onclick="form1.submit()">Enviar</a> </font>
</td>
</tr>
</table>
</form>

Aclarar que he probado el envío a través de un botón submit y tampoco funciona

Código PHP (Envía los Emails pero lo hace con los campos vacios):

<?php

$message = $HTTP_POST_VARS['Message1'];
$name = $_POST['Name1'];
$email = $HTTP_POST_VARS['Email1'];
$phone = $_POST['Phone1'];

$name = stripslashes($name);
$email = stripslashes($email);
$message = stripslashes($message);
$phone = stripslashes($phone);

$rec_email = "AQUIVAMIDIRECCIONDECORREO"; // who do you want to send this email to
$subject = "CONTACTO WEB"; // this is the subject line of the email


$msg_body = "<html><head></head><body>";
$msg_body = "<font face=\"Verdana\" size=\"2\">";
$msg_body .= "<i>Message from <a href=\"$SERVER_NAME\">$SERVER_NAME</a></i><br>";
$msg_body .= "<hr width=\"100%\" size=\"1\" color=\"#333333\"><br>";

$msg_body .= "<b>Name:</b> $name<br>";
$msg_body .= "<b>E-Mail:</b> <a href=\"mailto:$email\">$email</a><br>";
$msg_body .= "<b>Comments:</b> $message<br>";
$msg_body .= "<b>Phone:</b> $phone<br>";

$msg_body .= "<hr width=\"100%\" size=\"1\" color=\"#333333\"><br>";
$msg_body .= "<br><br>";
$msg_body .= "<i>Additional Sender Information</i><br>";
$msg_body .= "<hr width=\"100%\" size=\"1\" color=\"#333333\"><br>";
$msg_body .= "<b>IP Address:</b> $REMOTE_ADDR<br>";
$HostName = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$msg_body .= "<b>Host:</b> $HostName<br>";
$msg_body .= "<b>User Agent:</b> $HTTP_USER_AGENT<br>";
$msg_body .= "<hr width=\"100%\" size=\"1\" color=\"#333333\"><br>";
$msg_body .= "<font size=\"1\">email form provided by <a href=\"http://www.swish-tutorials.com\">Swish-Tutorials</a></font>";
$msg_body .= "</font></body></html>";

$header_info = "MIME-Version: 1.0\r\n";
$header_info .= "Content-type: text/html; charset=iso-8859-1\r\n";
$header_info .= "From: ".$name." <".$email.">";

mail($rec_email, $subject, $msg_body, $header_info);

?>

Alguien podría darme una pista¿? Intuyo que tendrá que ver con el uso de los divs dentro del formulario...

Gracias por adelantado
  #2 (permalink)  
Antiguo 02/02/2012, 07:23
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Problema envio formulario PHP + Form en Divs

bueno ahi tenes una mezcla
$HTTP_POST_VARS es obsolelo.

lo que tens que hacer es al principio de mensajes_candido.php es esto:

var_dump($_REQUEST); exit;

y fijate que si te llegaron bien los datos

y esto es horrible:
<font><a href="#" onclick="document.getElementById('form1').reset()" >Borrar</a></font>&nbsp; &nbsp; <font><a href="#" onclick="form1.submit()">Enviar</a> </font>

hace los botones tradicionales
<input type="reset" value="resetear" />
<input type="submit" value="enviar />

por que seguro que el problema es que usas el link y si, mas vale que te va a llevar a otra pagina sin nada!!!!!
  #3 (permalink)  
Antiguo 11/02/2012, 03:09
 
Fecha de Ingreso: febrero-2012
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema envio formulario PHP + Form en Divs

Hola:

Gracias por tu respuesta pero no me sirvío.
Como te comentaba el tema de los botones normales en lugar de los enlaces ya lo había probado pero no arregló nada.
En cuanto al var_Dump el resultado es este: array(0) { }
Es decir, no llegan las variables (realmente ya lo había comprobado con echo en cada una de las variables.
He ahí la gran duda, ni con botones ni con enlaces llegan las variables...

Muchas gracias

Pd: He de decir que he probado a hacer un formulario sin divs ni estilos ni nada y aun así las variables no llegan al otro lado...

Última edición por inafeces; 11/02/2012 a las 03:26
  #4 (permalink)  
Antiguo 11/02/2012, 03:50
 
Fecha de Ingreso: enero-2004
Mensajes: 431
Antigüedad: 20 años, 3 meses
Puntos: 6
Respuesta: Problema envio formulario PHP + Form en Divs

En realidad no estas pasando nada de HTML a PHP tus inputs estan mal hechos.

Los tienes asi:
<input type="text" id="Phone1">

y deberian ser
<input type="text" id="Phone1" name="Phone1">

como vez les falta el atributo "name" que es el importante!!

Ademas en tu codigo PHP como comenta Patriarka deberias usar $_POST en vez de $HTTP_POST_VARS
__________________
El que teme preguntar, se averguenza de aprender.
  #5 (permalink)  
Antiguo 11/02/2012, 04:56
 
Fecha de Ingreso: febrero-2012
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema envio formulario PHP + Form en Divs

Hola Kezo:

Gracias por tu respuesta, lo cierto es que me alegré muchísimo al leerlo porque realmente creí que mi error había sido ese pero... no es así, además la recepción la hago de la siguiente manera:

$message = $HTTP_POST_VARS['Message1'];
$name = $_POST['Name1'];
$email = $HTTP_POST_VARS["Email1"];
$phone = $_POST["Phone1"];

Así pruebo distintos tipo de recepción de las variables pero todas siguen llegando vacías...

Gracias por haberlo intentado
Sigo buscando donde puede estar el posible error...:'-(
  #6 (permalink)  
Antiguo 11/02/2012, 06:34
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Problema envio formulario PHP + Form en Divs

Hola

Son los típicos problemas que te vuelves loco y no sabes dónde está el fallo:
<form id="form1" enctype="text/plain" action="mensajes_candido.php" method="post" name="form1">

Con el atributo enctype="text/plain" no estás transformando bien los valores que pasas a través del método POST. ¿Solución? Elimina el atributo enctype o cambialo por:
enctype="application/x-www-form-urlencoded"

Como ves ahora sí funciona.

Saludos.
  #7 (permalink)  
Antiguo 11/02/2012, 07:31
 
Fecha de Ingreso: febrero-2012
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema envio formulario PHP + Form en Divs

Genial Kiko!!!!
Muchísimas gracias! el caso es que había probado a eliminar la propiedad enctype para que el servidor utilizase el valor por defecto pero tampoco funcionaba.

Gracias nuevamente!

Etiquetas: divs, formulario, html, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:25.