Foros del Web » Programando para Internet » PHP »

Error en formulario PHP/HTML

Estas en el tema de Error en formulario PHP/HTML en el foro de PHP en Foros del Web. Hola y Buenas noches, tengo un pequeño problema con un formulario en PHP, el mismo funciona correctamente pero el problema está en que sólo me ...
  #1 (permalink)  
Antiguo 27/11/2012, 21:42
Avatar de elkifone  
Fecha de Ingreso: noviembre-2012
Mensajes: 3
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Error en formulario PHP/HTML

Hola y Buenas noches, tengo un pequeño problema con un formulario en PHP, el mismo funciona correctamente pero el problema está en que sólo me envia el mail, el nombre y el mensaje y el formulario es mucho mas extenso. si alguien pudiera por favor decirme que estoy haciendo mal, le agradeceré profundamente. No tengo muchos conocimientos en PHP pero me defiendo bastante. El código no es muy largo lo pegaré a continuacion

Código HTML:
<head> 
</head> 
<body> 

        <?php 
          $to = '[email protected]'; 
          $subject = 'Formulario'; 
          $contact_submitted = 'mensaje enviado.'; 
          function email_is_valid($email) { 
            return preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$/i',$email); 
          } 
          if (!email_is_valid($to)) { 
            echo '<p style="color: red;">mail error</p>'; 
          } 
          if (isset($_POST['contact_submitted'])) { 
            $return = "r"; 
            $youremail = trim(htmlspecialchars($_POST['your_email'])); 
            $yourname = stripslashes(strip_tags($_POST['your_name'])); 
            $yourmessage = stripslashes(strip_tags($_POST['your_message'])); 
            $empresa = stripslashes(strip_tags($_POST['empresa'])); 
            $cargo = stripslashes(strip_tags($_POST['cargo'])); 
            $valvula = stripslashes(strip_tags($_POST['valvula'])); 
            $proyecto = stripslashes(strip_tags($_POST['proyecto'])); 
            $fluido = stripslashes(strip_tags($_POST['fluido'])); 
            $presion = stripslashes(strip_tags($_POST['presion'])); 
            $diametro = stripslashes(strip_tags($_POST['diametro'])); 
            $temperatura = stripslashes(strip_tags($_POST['temperatura'])); 
            $velocidad = stripslashes(strip_tags($_POST['velocidad'])); 
            $proceso = stripslashes(strip_tags($_POST['proceso'])); 
            $granulometria = stripslashes(strip_tags($_POST['granulometria'])); 
            $ph = stripslashes(strip_tags($_POST['ph'])); 
            $conexion = stripslashes(strip_tags($_POST['conexion'])); 
            $accionamiento = stripslashes(strip_tags($_POST['accionamiento'])); 
         
         
            $contact_name = "Nombre: ".$yourname; 
            $message_text = "Mensaje: ".$yourmessage; 
            $user_answer = trim(htmlspecialchars($_POST['user_answer'])); 
            $answer = trim(htmlspecialchars($_POST['answer'])); 
            $message = $contact_name . $return . $message_text; 
            $headers = "From: ".$youremail; 
            $empresa = "empresa: ".$empresa;     
            $cargo = "cargo: ".$cargo;     
            $valvula = "valvula: ".$valvula;     
            $proyecto = "proyecto: ".$proyecto;     
            $fluido = "fluido: ".$fluido;     
            $presion = "presion: ".$presion;     
            $diametro = "diametro: ".$diametro;     
            $temperatura = "temperatura: ".$temperatura;     
            $velocidad = "velocidad: ".$velocidad;     
            $proceso = "proceso: ".$proceso;     
            $granulometria = "granulometria: ".$granulometria;     
            $ph = "ph: ".$ph;     
            $conexion = "conexion: ".$conexion;     
            $accionamiento = "accionamiento: ".$accionamiento; 
         
            if (email_is_valid($youremail) && !eregi("r",$youremail) && !eregi("n",$youremail) && $yourname != "" && $yourmessage != "" && substr(md5($user_answer),5,10) === $answer) {
              mail($to,$subject,$message,$headers);
              $yourname = ''; 
              $youremail = ''; 
              $yourmessage = ''; 
              $empresa = ''; 
              $cargo = ''; 
              $valvula = ''; 
              $proyecto = '';     
              $fluido = ''; 
              $presion = ''; 
              $diametro = ''; 
              $temperatura = ''; 
              $velocidad = ''; 
              $proceso = ''; 
              $granulometria = ''; 
              $ph = ''; 
              $conexion = ''; 
              $accionamiento = ''; 
              echo '<p style="color: blue;">'.$contact_submitted.'</p>'; 
            } 
            else echo '<p style="color: red;">hay campos incompletos</p>'; 
          } 
          $number_1 = rand(1, 9); 
          $number_2 = rand(1, 9); 
          $answer = substr(md5($number_1+$number_2),5,10); 
        ?> 
<h5>Formulario de Contacto</h5> 
            <form id="contact" action="contacto1.php" method="post"> 

<div> 
    <label for="Nombre_Completo" class="styled">Nombre</label> 
    <div> 
        <input class="contact" type="text" name="your_name" value="<?php echo $yourname; ?>" /><br /> 
        <span style="font-size: 80%">*IMPORTANTE!: Verifique que los datos sean los correctos.</span> 
    </div> 
</div> 
<div> 
    <label for="empresa" class="styled">Empresa</label> 
    <div> 
        <input class="contact" type="text" name="empresa" value="<?php echo $empresa; ?>" size="30" /><br /> 
        <span style="font-size: 80%">*IMPORTANTE!: Verifique que los datos sean los correctos.</span> 
    </div> 
</div> 
<div> 
    <label for="cargo" class="styled">Cargo y Area</label> 
    <div> 
        <input class="contact" type="text" name="cargo" value="<?php echo $cargo; ?>" size="30" /><br /> 
        <span style="font-size: 80%">*IMPORTANTE!: Verifique que los datos sean los correctos.</span> 
    </div> 
</div> 
<div> 
    <label for="Numero_Telefono" class="styled">Telefono</label> 
    <div> 
        <input type="text" name="Numero_Telefono" id="Numero_Telefono" value="<?php echo $telefono; ?>" size="30" /><br /> 
        <span style="font-size: 80%">*IMPORTANTE!: Verifique que los datos sean los correctos.</span> 
    </div> 
</div> 
<div> 
    <label for="Direccion_Email" class="styled">E-mail</label> 
    <div> 
        <input class="contact" type="text" name="your_email" value="<?php echo $youremail; ?>" /><br /> 
        <span style="font-size: 80%">*IMPORTANTE!: Verifique que los datos sean los correctos.</span> 
    </div> 
</div> 
<div> 
    <label for="valvula" class="styled">Tipo de Válvula existente</label> 
    <div> 
        <input class="contact" type="text" name="valvula" value="<?php echo $valvula; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="proyecto" class="styled">Proyecto Nuevo</label> 
    <div> 
        <input class="contact" type="text" name="proyecto" value="<?php echo $proyecto; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="fluido" class="styled">Fluido</label> 
    <div> 
        <input class="contact" type="text" name="fluido" value="<?php echo $fluido; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="presion" class="styled">Presion de Trabajo</label> 
    <div> 
        <input class="contact" type="text" name="presion" value="<?php echo $presion; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="diametro" class="styled">Diámetro Nominal</label> 
    <div> 
        <input class="contact" type="text" name="diametro" value="<?php echo $diametro; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="temperatura" class="styled">Temperatura de Trabajo</label> 
    <div> 
        <input class="contact" type="text" name="temperatura" value="<?php echo $temperatura; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="velocidad" class="styled">Velocidad</label> 
    <div> 
        <input class="contact" type="text" name="velocidad" value="<?php echo $velocidad; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="proceso" class="styled">Proceso o sector de planta</label> 
    <div> 
        <input class="contact" type="text" name="proceso" value="<?php echo $proceso; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="granulometria" class="styled">Granulometría</label> 
    <div> 
        <input class="contact" type="text" name="granulometria" value="<?php echo $granulometria; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="ph" class="styled">PH</label> 
    <div> 
        <input class="contact" type="text" name="ph" value="<?php echo $ph; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="conexion" class="styled">Conexión</label> 
    <div> 
        <input class="contact" type="text" name="conexion" value="<?php echo $conexion; ?>" size="30" /><br /> 
    </div> 
</div> 
<div> 
    <label for="accionamiento" class="styled">Accionamiento</label> 
    <div> 
        <input class="contact" type="text" name="accionamiento" value="<?php echo $accionamiento; ?>" size="30" /><br /> 
    </div> 
</div> 
</div> 
<div> 
    <label for="Su_Mensaje" class="styled">Texto Adicional:</label> 
    <div> 
        <textarea class="contact textarea" name="your_message"><?php echo $yourmessage; ?></textarea> 
</div> 
</div> 
<div> 
    <label  class="styled"><span><?php echo $number_1; ?> + <?php echo $number_2; ?> = ?</span></label> 
    <div> 
    <input type="text" name="user_answer" /><input type="hidden" name="answer" value="<?php echo $answer; ?>" /> 
</div> 
</div> 
<div class="buttonsdiv"> 
    <input class="submit" type="submit" name="contact_submitted" value="send" style="margin-left: 150px;" /> <input name="reset" type="reset" value="Limpiar" /> 
</div> 

</form> 

</body> 
</html> 
Muchas gracias!
  #2 (permalink)  
Antiguo 27/11/2012, 21:44
Avatar de elkifone  
Fecha de Ingreso: noviembre-2012
Mensajes: 3
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Error en formulario PHP/HTML

Código PHP:
<?php 
          $to 
'[email protected]'
          
$subject 'Formulario'
          
$contact_submitted 'mensaje enviado.'
          function 
email_is_valid($email) { 
            return 
preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$/i',$email); 
          } 
          if (!
email_is_valid($to)) { 
            echo 
'<p style="color: red;">mail error</p>'
          } 
          if (isset(
$_POST['contact_submitted'])) { 
            
$return "r"
            
$youremail trim(htmlspecialchars($_POST['your_email'])); 
            
$yourname stripslashes(strip_tags($_POST['your_name'])); 
            
$yourmessage stripslashes(strip_tags($_POST['your_message'])); 
            
$empresa stripslashes(strip_tags($_POST['empresa'])); 
            
$cargo stripslashes(strip_tags($_POST['cargo'])); 
            
$valvula stripslashes(strip_tags($_POST['valvula'])); 
            
$proyecto stripslashes(strip_tags($_POST['proyecto'])); 
            
$fluido stripslashes(strip_tags($_POST['fluido'])); 
            
$presion stripslashes(strip_tags($_POST['presion'])); 
            
$diametro stripslashes(strip_tags($_POST['diametro'])); 
            
$temperatura stripslashes(strip_tags($_POST['temperatura'])); 
            
$velocidad stripslashes(strip_tags($_POST['velocidad'])); 
            
$proceso stripslashes(strip_tags($_POST['proceso'])); 
            
$granulometria stripslashes(strip_tags($_POST['granulometria'])); 
            
$ph stripslashes(strip_tags($_POST['ph'])); 
            
$conexion stripslashes(strip_tags($_POST['conexion'])); 
            
$accionamiento stripslashes(strip_tags($_POST['accionamiento'])); 
         
         
            
$contact_name "Nombre: ".$yourname
            
$message_text "Mensaje: ".$yourmessage
            
$user_answer trim(htmlspecialchars($_POST['user_answer'])); 
            
$answer trim(htmlspecialchars($_POST['answer'])); 
            
$message $contact_name $return $message_text
            
$headers "From: ".$youremail
            
$empresa "empresa: ".$empresa;     
            
$cargo "cargo: ".$cargo;     
            
$valvula "valvula: ".$valvula;     
            
$proyecto "proyecto: ".$proyecto;     
            
$fluido "fluido: ".$fluido;     
            
$presion "presion: ".$presion;     
            
$diametro "diametro: ".$diametro;     
            
$temperatura "temperatura: ".$temperatura;     
            
$velocidad "velocidad: ".$velocidad;     
            
$proceso "proceso: ".$proceso;     
            
$granulometria "granulometria: ".$granulometria;     
            
$ph "ph: ".$ph;     
            
$conexion "conexion: ".$conexion;     
            
$accionamiento "accionamiento: ".$accionamiento
         
            if (
email_is_valid($youremail) && !eregi("r",$youremail) && !eregi("n",$youremail) && $yourname != "" && $yourmessage != "" && substr(md5($user_answer),5,10) === $answer) {
              
mail($to,$subject,$message,$headers);
              
$yourname ''
              
$youremail ''
              
$yourmessage ''
              
$empresa ''
              
$cargo ''
              
$valvula ''
              
$proyecto '';     
              
$fluido ''
              
$presion ''
              
$diametro ''
              
$temperatura ''
              
$velocidad ''
              
$proceso ''
              
$granulometria ''
              
$ph ''
              
$conexion ''
              
$accionamiento ''
              echo 
'<p style="color: blue;">'.$contact_submitted.'</p>'
            } 
            else echo 
'<p style="color: red;">hay campos incompletos</p>'
          } 
          
$number_1 rand(19); 
          
$number_2 rand(19); 
          
$answer substr(md5($number_1+$number_2),5,10); 
        
?>
  #3 (permalink)  
Antiguo 28/11/2012, 08:54
Avatar de elkifone  
Fecha de Ingreso: noviembre-2012
Mensajes: 3
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Error en formulario PHP/HTML

El prolema era que intentaba enviar mas de 5 parametros directamente con la funcion mail() y no habia eeditado $message:
Código PHP:
        $message $contact_name $return $message_text $return $empresa $return $cargo $return $valvula $return $proyecto $return $fluido $return $presion $return $diametro $return $temperatura $return $velocidad $return $proceso $return $granulometria $return $ph $return $conexion $return $accionamiento

Etiquetas: formulario, html
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 22:35.