Hola. Antes que nada, mil disculpas por abrir tema, pero en los temas anteriores que encontre no me han podido ayudar o no han querido. Y los temas que estan cerrados no me han sacado de dudas. Asi que ahi les voy:
Tengo un formulario de contacto en PHP que se compone de 4 archivos: FORMA.PHP, ENVIO.PHP, CONFIRMACION.PHP Y MANDAEMAIL.INC.. Los 4 funcionan pero los campos que tengo en ENVIO.PHP solo se envian 3 (Nombre, Fecha y Email). Esta estructura la tengo con otro formulario mas chico y funciona a la perfeccion. Envia tooodos los campos y prcticamente es el mismo, solo que con menos campos. Ya revise y recontrarevise y no encuentro la falla. Ya intente llamando los datos con $_POST, pero me da error de pagina. Quito los $_POST y vuelve a funcionar pero sin enviar todos los campos (solo los tres que ya mencione). Ademas, si se fijan en el codigo del formulario que SI funciona, no uso el $_POST para los campos que agregué. Dejo aqui los codigos del formulario que si funciona y del que no funciona. Ojala alguien se apiade de mi cabeza. Gracias de antemano.
**ENVIO.PHP** SOLO ENVIA EMAIL, NOMBRE Y TELEFONO.***
Código:
Código PHP:
<?php
//** ENVIO DE EMAIL
include("mandaemail.inc");
if ( isset($_POST['direccionenvio']) && isset($_POST['paginaconfirmacion']) ) {
$mailTo = $_POST['direccionenvio'];
$mailFrom = $_POST['email'];
$mailSubject = "Forma de correo";
$now = date('d-m-Y');
$name = $_POST['nombre'];
// $apellido = $_POST['apellido']
// $numclie = $_POST['numclie']
// $telcontacto = $_POST['telcontacto']
// $telmonit = $_POST['telmonit']
// $cp = $_POST['cp']
// $direccion = $_POST['direccion']
// $colonia = $_POST['colonia']
// $ciudad = $_POST['ciudad']
// $select = $_POST['select']
// $select2 = $_POST['select2]
// $select3 = $_POST['select3]
// $consulta = $_POST['consulta']
/** MODIFIQUE AQUI EL CODIGO, INCLUYA UNA LINEA COMO LA DE Nombre: $nombre Y
'** DESPUES \n
'** PARA CADA CAMPO QUE HAYA AGREGADO SIN BORRAR <<<EOT y EOT; E INDIQUE EL
FORMATO DEL CORREO */
$mailFormat = 1; // 0 para correo HTML o 1 para correo de texto
$mailBody = <<<EOT
Fecha: $now\n
Nombre: $name\n
Apellido: $apellido\n
Número de Cliente: $numcliente\n
Email: $mailFrom\n
Tel. de Contacto: $telcontacto\n
Tel. Monitoreado: $telmonitoreado\n
Codigo Postal: $cp\n
Direccion: $direccion\n
Colonia: $colonia\n
Ciudad: $ciudad\n
Estado: $select\n
Producto: $select2\n
Motivo: $select3\n
Descripcion: $textfield\n
Fin del email
EOT;
MandaEmail($mailTo,$mailFrom,$mailSubject,$mailBody,$mailFormat);
//***MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
Header("Location:". $_POST['paginaconfirmacion'] . "?nombre=" . $_POST['nombre'] . "&email=" . $_POST['email']);
//*** FIN MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
} else {
$head = '<?xml version="1.0" encoding="UTF-8"?>';
$head .= <<<EOT
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>CONTACTENOS</title>
<style type="text/css">
<!--
body {
font-family:"Lucida Grande","Lucida Console",sans-serif;
}
#content {
font-size:0.8em;
position:absolute;
width:750px;
left:50%;
margin-left:-392px;
margin-top:3em;
padding:15px;
border:2px solid gray;
}
#content h4 {
font-family:"georgia",serif;
font-size:1.5em;
color:brown;
font-variant:small-caps;
margin-top:0;
}
-->
</style>
</head>
<body>
<div id="content">
<h4>Se han generado los siguientes errores</h4>
EOT;
echo $head;
if(!isset($_POST['direccionenvio'])) {
echo '<p>No se puede enviar el formulario porque el campo "direccionenvio" está vacío</p>';
}
if(!isset($_POST['paginaconfirmacion'])) {
echo '<p>No se puede enviar el formulario porque el campo "paginaconfirmacion" está vacío</p>';
}
$bott =<<<EOT
</div>
</body>
</html>
EOT;
echo $bott;
}
//FIN ENVIO DE EMAIL
?>
***ARCHIVO ENVIO.PHP *** ENVIA TODOS LOS CAMPOS
Código:
Código PHP:
<?php
//** ENVIO DE EMAIL
include("mandaemail.inc");
if ( isset($_POST['direccionenvio']) && isset($_POST['paginaconfirmacion']) ) {
$mailTo = $_POST['direccionenvio'];
$mailFrom = $_POST['email'];
$mailSubject = "Forma de correo";
$now = date('d-m-Y');
$name = $_POST['nombre'];
/** MODIFIQUE AQUI EL CODIGO, INCLUYA UNA LINEA COMO LA DE Nombre: $nombre Y
'** DESPUES \n
'** PARA CADA CAMPO QUE HAYA AGREGADO SIN BORRAR <<<EOT y EOT; E INDIQUE EL
FORMATO DEL CORREO */
$mailFormat = 1; // 0 para correo HTML o 1 para correo de texto
$mailBody = <<<EOT
Fecha: $now\n
Nombre: $name\n
Email: $mailFrom\n
Telefono: $textfield\n
coment: $coment\n
Fin del email
EOT;
MandaEmail($mailTo,$mailFrom,$mailSubject,$mailBody,$mailFormat);
//***MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
Header("Location:". $_POST['paginaconfirmacion'] . "?nombre=" . $_POST['nombre'] . "&email=" . $_POST['email']);
//*** FIN MANDA A LA PÁGINA DE CONFIRMACION Y LE PASA LO QUE TRAEN LOS CAMPOS nombre y email
} else {
$head = '<?xml version="1.0" encoding="UTF-8"?>';
$head .= <<<EOT
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>CONTACTENOS</title>
<style type="text/css">
<!--
body {
font-family:"Lucida Grande","Lucida Console",sans-serif;
}
#content {
font-size:0.8em;
position:absolute;
width:750px;
left:50%;
margin-left:-392px;
margin-top:3em;
padding:15px;
border:2px solid gray;
}
#content h4 {
font-family:"georgia",serif;
font-size:1.5em;
color:brown;
font-variant:small-caps;
margin-top:0;
}
-->
</style>
</head>
<body>
<div id="content">
<h4>Se han generado los siguientes errores</h4>
EOT;
echo $head;
if(!isset($_POST['direccionenvio'])) {
echo '<p>No se puede enviar el formulario porque el campo "direccionenvio" está vacío</p>';
}
if(!isset($_POST['paginaconfirmacion'])) {
echo '<p>No se puede enviar el formulario porque el campo "paginaconfirmacion" está vacío</p>';
}
$bott =<<<EOT
</div>
</body>
</html>
EOT;
echo $bott;
//**FIN ENVIO DE EMAIL
?>