Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2010, 12:13
Avatar de alette666
alette666
 
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 10 meses
Puntos: 5
Exclamación problemas con form de contacto en php [[AYUDAAA]]

Hola gente FDW, ya seria el libro gordo de petete (pero con la version de "dudas") bueno mi problema es que cuando un visityantye de mi web me envia a travez del form de contacto, cuando este me llega a mi correo me visualiza nada mas que el mensaje; es decir, que no me muestra ni correo remitente, ni el nombre, ni nada de nada, solamente el mensaje; esto a que se debe??, ppaso a poner el codigo funte para que me digan en dnd esta el error antes de que me los del foro

el formulario cuenta con 10 archivos:
* (4x) Archivo fuente true type.
* (3x) Archivos GDF.
* captcha.function.php
* captcha.image.php
* contacto.php

Pasaré a explicar solamente contacto.php ya que lo demas son imagenes.

contacto.php
Código PHP:
<?php

include("captcha.function.php");

session_start();

// Cambie esto a su dirección de correo electrónico real:
$myemail '[U]mi_correo_electronico[/U]@hotmail.com';

// La inicialización de la variable $ error. Al comienzo es 0. Cada campo en este formulario es procesado, y si algo está mal (de entrada vacía, la dirección de correo electrónico incorrecta, el código captcha inválida, etc) $error se incrementa. El Form dejará de procesar si $error es > 0.
$error 0;
$name_text 'Su Nombre';
$name '';
$email_text 'Su E-mail';
$email '';
$message_text 'Su Mensaje';
$message '';
$captcha_text 'Por favor, dígame si usted no es un robot de spam';

// Esta pieza de código decide si desea mostrar el formulario o para procesarlo
if (!isset($_POST['action']) || $_POST['action'] != 'submit') {
    
show_form();
    die;
}

// Ok, vamos a procesar el formulario
else {
    
// Comprobación de nombre
    
if (empty($_POST['name'])) {
        
$error .= 1;
        
$name_text '<span>Por favor ingrese su nombre</span>';
    } else {
        
$error  .= 0;
        
$name_text '<font color="#00FF00">Ok</font>';
        
// Tenga en cuenta que en la "vida real" que tiene que hacer algo como esto con los datos del usuario: mysql_real_escape_string(strip_tags(trim($_POST['name'])));
        
$name strip_tags($_POST['name']);
    }
    
    
// Comprobación del email
    
if (empty($_POST['email'])) {
        
$error .= 1;
        
$email_text '<span>Por favor introduzca su E-mail</span>';
    } elseif (!
eregi('^[-!#$%&\'*+\\./0-9=?A-Z^_a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_a-z{|}~]+$'$_POST['email'])) {
        
$error .= 1;
        
$email_text '<span>Por favor introduzca el E-mail correcto</span>';
        
$email strip_tags($_POST['email']);
    } else {
        
$error .= 0;
        
$email_text '<font color="#00FF00">Ok</font>';
        
$email strip_tags($_POST['email']);
    }
    
    
// Comprobación del mensaje
    
if (empty($_POST['message'])) {
        
$error .= 1;
        
$message_text '<span>Por favor escriba su mensaje</span>';
    } elseif ((
strlen($_POST['message']) < 10)) {
        
$error .= 1;
        
$message_text '<span>Please enter no less than 10 symbols</span>';
        
$message $_POST['message'];
    } else {
        
$error .= 0;
        
$message_text '<font color="#00FF00">Ok</font>';
        
$message $_POST['message'];
    }
    
    
// Ahora vamos a ver El CAPTCHA
    
if (!captcha_verify_word()) {
        
$error .= 1;
        
$captcha_text '<span>Código de la imagen incorrecta</span>';
    } else {
        
$error .= 0;
    }
    
// Si $error es > 0, vamos a mostrar el formulario de nuevo
    
if ($error 0) {
        
show_form();
        die;
    } else {
        
// Si todo está bien, te enviaremos un e-mail
        
$name strip_tags(trim($_POST['name']));
        
$email strip_tags(trim($_POST['email']));
        
$message wordwrap(strip_tags(trim($_POST['message'])), 70);
        
$email 'De:'.$name.' <'.$email.'>';
        
$subject 'Nuevo mensaje de su sitio web!';
        
mail($myemail$subject$message$email);
        echo 
"<script>window.location.href='form.exito.php';</script>";
        die();
    }
}

// Esta función muestra el formulario
function show_form() {
?>
Y aca esta la hooja del formulario
contacto.php
Código PHP:
<html>
<head>
<title>Formulario de contacto</title>
<link href="../CSS/general.css" rel="stylesheet" media="screen" type="text/css"/>
<link href="cascada.css" rel="stylesheet" media="screen" type="text/css"/>
<script src="../links.js" type="text/javascript"></script>
</head>
<body id="body">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td colspan="2"><?php include ("../modules/tpl.header.inc");?></td>
  </tr>
  <tr>
  <td colspan="2">
      <center><h1>Por favor, no dude en dejar su mensaje:</h1></center>
<table border="1" align="center">
<tr>
<td>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="myform">
<input type="hidden" name="action" value="submit">
<div><input name="name" type="text" tabindex="1" value="<?php echo $GLOBALS['name']; ?>">&nbsp;<?php echo $GLOBALS['name_text']; ?></div>
<div><input name="email" type="text" tabindex="2" value="<?php echo $GLOBALS['email']; ?>">&nbsp;<?php echo $GLOBALS['email_text']; ?></div>
<div><?php echo $GLOBALS['message_text']; ?><br><center><textarea name="message" cols="45" rows="10" tabindex="3"><?php echo $GLOBALS['message']; ?></textarea></center></div>
<div>
<?php echo $GLOBALS['captcha_text']; ?><br>
<img src="captcha.image.php?nocache=<?php echo md5(time()); ?>" border="0"><br>
<input name="magicword" type="text" tabindex="4">
</div>
<div>
<font size="1" face="arial"><b>Todos los campos son requeridos obligatoriamente.<br>
NOTA: Respete mayusculas y minusculas en la imagen.</b></font>
</div>
<div>
<center>
<button type="submit" tabindex="5">Envíe su mensaje</button>
</center>
</div>
</form>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2"><br><?php include ("../modules/tpl.footer.inc");?></td>
  </tr>
</table>
</body>
</html>
<?php
}
?>
Como verán lo dividi en dos partes a contacto.php para que no se hagan un nudo en buscarle el error, ya que a mi me tomo demaciado tiempo y todavia no he podido saber que es lo que esta mal; de antemano gracias por haber respondido mis otros post tan rapidamente

Última edición por alette666; 11/11/2010 a las 21:54