Foros del Web » Programando para Internet » PHP »

error en formulario de contacto

Estas en el tema de error en formulario de contacto en el foro de PHP en Foros del Web. Hola, tengo un formulario de contacto que funciona correctamente pero que no envía las opciones de lista...no veo nada raro, a ver si alguien me ...
  #1 (permalink)  
Antiguo 25/10/2009, 13:12
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 9 meses
Puntos: 9
error en formulario de contacto

Hola, tengo un formulario de contacto que funciona correctamente pero que no envía las opciones de lista...no veo nada raro, a ver si alguien me ayuda. Gracias

Código PHP:
<?php 
$your_email 
='micorreo';// <<=== update to your email address

session_start();
$errors '';
$name '';
$visitor_email '';
$user_message '';
$para $_POST['para'];

if(isset(
$_POST['submit']))
{
    
    
$name $_POST['name'];
    
$visitor_email $_POST['email'];
    
$user_message $_POST['message'];
    
$para $_POST['para'];
    
///------------Do Validations-------------
    
if(empty($name)||empty($visitor_email))
    {
        
$errors .= "\n Name and Email are required fields. ";    
    }
    if(
IsInjected($visitor_email))
    {
        
$errors .= "\n Bad email value!";
    }
    if(empty(
$_SESSION['6_letters_code'] ) ||
      
strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
    {
    
//Note: the captcha code is compared case insensitively.
    //if you want case sensitive match, update the check above to
    // strcmp()
        
$errors .= "\n The captcha code does not match!";
    }
    
    if(empty(
$errors))
    {
        
//send the email
        
$to $your_email;
        
$subject="New form submission";
        
$from $your_email;
        
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
        
        
$body "A user  $name submitted the contact form:\n".
        
"Name: $name\n".
        
"Email: $visitor_email \n".
        
"Message: \n ".
        
"$user_message\n".
        
"IP: $ip\n";
        
"Para: $para;\n";
        
        
$headers "From: $from \r\n";
        
$headers .= "Reply-To: $visitor_email \r\n";
        
        
mail($to$subject$body,$headers);
        
        
header('Location: thank-you.html');
    }
}

// Function to validate against any email injection attempts
function IsInjected($str)
{
  
$injections = array('(\n+)',
              
'(\r+)',
              
'(\t+)',
              
'(%0A+)',
              
'(%0D+)',
              
'(%08+)',
              
'(%09+)'
              
);
  
$inject join('|'$injections);
  
$inject "/$inject/i";
  if(
preg_match($inject,$str))
    {
    return 
true;
  }
  else
    {
    return 
false;
  }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
    <title>Contact Us</title>
<!-- define some style elements-->
<style>
label,a, body 
{
    font-family : Arial, Helvetica, sans-serif;
    font-size : 12px; 
}
.err
{
    font-family : Verdana, Helvetica, sans-serif;
    font-size : 12px;
    color: red;
}
</style>    
<!-- a helper script for vaidating the form-->
<script language="JavaScript" src="scripts/gen_validatorv31.js" type="text/javascript"></script>    
</head>

<body>
<?php
if(!empty($errors)){
echo 
"<p class='err'>".nl2br($errors)."</p>";
}
?>
<div id='contact_form_errorloc' class='err'></div>
<form method="POST" name="contact_form" 
action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> 

<p>
<label for='para'>Para: </label><br>
<select name="para">
  <option value="webmaster">webmaster</option>
  <option value="general">general</option>
  <option value="museo">museo</option>
</select>
</p>
<p>
<label for='name'>Name: </label><br>
<input type="text" name="name" value='<?php echo htmlentities($name?>'>
</p>
<p>
<label for='email'>Email: </label><br>
<input type="text" name="email" value='<?php echo htmlentities($visitor_email?>'>
</p>
<p>
<label for='message'>Message:</label> <br>
<textarea name="message" rows=8 cols=30><?php echo htmlentities($user_message?></textarea>
</p>
<p>
<img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id='captchaimg' ><br>
<label for='message'>Enter the code above here :</label><br>
<input id="6_letters_code" name="6_letters_code" type="text"><br>
<small>Can't read the image? click <a href='javascript: refreshCaptcha();'>here</a> to refresh</small>
</p>
<input type="submit" value="Submit" name='submit'>
</form>
<script language="JavaScript">
// Code for validating the form
// Visit http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
// for details
var frmvalidator  = new Validator("contact_form");
//remove the following two lines if you like error message box popups
frmvalidator.EnableOnPageErrorDisplaySingleBox();
frmvalidator.EnableMsgsTogether();

frmvalidator.addValidation("name","req","Please provide your name");
frmvalidator.addValidation("email","req","Please provide your email"); 
frmvalidator.addValidation("email","email","Please enter a valid email address"); 
</script>
<script language='JavaScript' type='text/javascript'>
function refreshCaptcha()
{
    var img = document.images['captchaimg'];
    img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}
</script>
<noscript>
Code from the <a href='http://www.html-form-guide.com/contact-form/html-contact-form-captcha.html'
>php contact form</a> article.
</noscript>
</body>
</html>
  #2 (permalink)  
Antiguo 25/10/2009, 13:57
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: error en formulario de contacto

a que te refieres con opciones de lista?
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 25/10/2009, 14:17
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: error en formulario de contacto

esto me lo pasa por el mail

<label for='para'>Para: </label><br>
<select name="para">
<option value="webmaster">webmaster</option>
<option value="general">general</option>
<option value="museo">museo</option>
</select>
  #4 (permalink)  
Antiguo 25/10/2009, 14:27
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: error en formulario de contacto

$para = $_POST['para'];

sustituyelo por (OJO SOLO EL PRIMERO, ES DECIR ABAJO DE $user_message = '';) : $para = '';


y "Para: $para;\n"; por: "Para: $para\n";


y dime si algo cambia...
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 25/10/2009, 14:32
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: error en formulario de contacto

no me cambia..
  #6 (permalink)  
Antiguo 25/10/2009, 14:38
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: error en formulario de contacto

pero que tonto soy jajaja ya vi el error :P

reemplaza: "IP: $ip\n";
por: "IP: $ip\n" .
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 25/10/2009, 15:10
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: error en formulario de contacto

GENIAL!!! mil gracias!!! me he quedado en paz! de verdad ;)
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:51.