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:
***ARCHIVO ENVIO.PHP *** ENVIA TODOS LOS CAMPOSCó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 ?>
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 ?>