Foros del Web » Programando para Internet » PHP »

Ayuda con "Validacion de un formulario"

Estas en el tema de Ayuda con "Validacion de un formulario" en el foro de PHP en Foros del Web. Hola!, estoy haciendo un formulario, y le quiero poner unas validaciones. Ya le he añadido un codigo, pero no me funciona, así que confío en ...
  #1 (permalink)  
Antiguo 11/09/2010, 08:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 0
Ayuda con "Validacion de un formulario"

Hola!, estoy haciendo un formulario, y le quiero poner unas validaciones. Ya le he añadido un codigo, pero no me funciona, así que confío en vosotros para que me ayudeis xD

Aquí os dejo el codigo PHP:

Código PHP:
<?php

    
if (empty($_POST['nombre'])) $error .= "<p class=\"error\">No has introducido tu nombre</p>"; }
    if (empty(
$_POST['mail'])) $error .= "<p class=\"error\">No has introducido tu dirección de correo</p>"; }
    if (empty(
$_POST['tipo'])) $error .= "<p class=\"error\">No has introducido el tipo de reporte</p>"; }
    if (empty(
$_POST['mensaje'])) $error .= "<p class=\"error\">No has escrito nada en el cuerpo del mensaje</p>"; }
    
$text_len strlen($_POST['mensaje']); 
    if(
$text_len 800) { $error .= "<p class=\"error\">El comentario debe ser de menor a 800, se ingresaron $text_len </p>"; }
    if(isset(
$_POST['mail']))
      {
        if (!
comprobar_email($_POST['mail']))
        { 
$error .= "<p class=\"error\">La dirección de correo es incorrecta</p>"; }
      }
// end of email check
    
if($error) {
        echo 
$error;


$nombre $_POST['nombre'];
$mail $_POST['mail'];
$tipo $_POST['tipo'];
$contenido $_POST['mensaje'];

$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre ", Usuario de NeverFall.co.cc \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Tipo: " $tipo " \r\n";
$mensaje .= "Mensaje: " $contenido " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para "[email protected]";
$asunto "Bug Reportado en NeverFall";

$descodificado utf8_decode($mensaje);

mail($para$asunto$descodificado$header);

header("Location: http://neverfall.co.cc/bugreport/mensajecorrecto.html");

?>
Si necesitais algun dato más, no teneis más que pedirlo.

Saludos y gracias anticipadas
  #2 (permalink)  
Antiguo 11/09/2010, 08:36
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Ayuda con "Validacion de un formulario"

Me parece que te faltó cerrar un if ("}"). ¿No te funciona nada o sólo no hace lo que esperas?, ¿tira algún error? Indenta el código y ponlo más prolijo, sino siempre tendrás errores de sintaxis. ¡Suerte!
  #3 (permalink)  
Antiguo 11/09/2010, 08:54
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda con "Validacion de un formulario"

Sigue sin funcionarme, ahora tengo este código:

Código PHP:
if (empty($_POST['nombre'])) $error .= "<p class=\"error\">No has introducido tu nombre</p>"; }
    if (empty(
$_POST['mail'])) $error .= "<p class=\"error\">No has introducido tu dirección de correo</p>"; }
    if (empty(
$_POST['tipo'])) $error .= "<p class=\"error\">No has introducido el tipo de reporte</p>"; }
    if (empty(
$_POST['mensaje'])) $error .= "<p class=\"error\">No has escrito nada en el cuerpo del mensaje</p>"; }
    
$text_len strlen($_POST['mensaje']); 
    if(
$text_len 800) { $error .= "<p class=\"error\">El comentario debe ser de menor a 800, se ingresaron $text_len </p>"; }
    if(isset(
$_POST['mail'])) }
      {
        if (!
comprobar_email($_POST['mail'])) }
        { 
$error .= "<p class=\"error\">La dirección de correo es incorrecta</p>"; }
      }
// end of email check
    
if($error)} 
      {
        echo 
$error;


$nombre $_POST['nombre'];
$mail $_POST['mail'];
$tipo $_POST['tipo'];
$contenido $_POST['mensaje'];

$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre ", Usuario de NeverFall.co.cc \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Tipo: " $tipo " \r\n";
$mensaje .= "Mensaje: " $contenido " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para "[email protected]";
$asunto "Bug Reportado en NeverFall";

$descodificado utf8_decode($mensaje);

mail($para$asunto$descodificado$header);

header("Location: http://neverfall.co.cc/bugreport/mensajecorrecto.html");

?> 
Si solo hay un fallo o 2, que alguien copie el codigo, lo reparte y me lo vuelva a oegar

Saludos y gracias
  #4 (permalink)  
Antiguo 11/09/2010, 09:06
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Ayuda con "Validacion de un formulario"

Que tal !!!

Hay muchos errores en los if y según el codigo veo que envias el mensaje si hay error, no se si esa es la lógica de la aplicación pero de todas formas revisa esto:

Código PHP:
<?php

if (empty($_POST['nombre'])) {$error .= "<p class=\"error\">No has introducido tu nombre</p>";
}
if (empty(
$_POST['mail'])) {$error .= "<p class=\"error\">No has introducido tu dirección de correo</p>";
}
if (empty(
$_POST['tipo'])) {$error .= "<p class=\"error\">No has introducido el tipo de reporte</p>";
}
if (empty(
$_POST['mensaje'])) {$error .= "<p class=\"error\">No has escrito nada en el cuerpo del mensaje</p>";
}
$text_len strlen($_POST['mensaje']);
if(
$text_len 800) { $error .= "<p class=\"error\">El comentario debe ser de menor a 800, se ingresaron $text_len </p>";
}
if(isset(
$_POST['mail'])){
    if (!
comprobar_email($_POST['mail'])) {
        
$error .= "<p class=\"error\">La dirección de correo es incorrecta</p>";
    }
}
// end of email check
if($error)
{
echo 
$error;


$nombre $_POST['nombre'];
$mail $_POST['mail'];
$tipo $_POST['tipo'];
$contenido $_POST['mensaje'];

$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre ", Usuario de NeverFall.co.cc \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Tipo: " $tipo " \r\n";
$mensaje .= "Mensaje: " $contenido " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para "[email protected]";
$asunto "Bug Reportado en NeverFall";

$descodificado utf8_decode($mensaje);
}

mail($para$asunto$descodificado$header);

header("Location: http://neverfall.co.cc/bugreport/mensajecorrecto.html");
?>
Lo que te acabo de pegar no tiene errores de sintaxis pero creo que de lógica si, y otra cosa deberias usas un ide, puedes mirar netbeans o eclipse estos te ayudan a escribir un codigo mas ordenado y fácil de entender.

Saludos.
  #5 (permalink)  
Antiguo 11/09/2010, 10:06
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda con "Validacion de un formulario"

He puesto ese código y sigue sin ir, y esa no es la logica,

A ver si alguien puede arreglar ese codigo porfaplis

Saludos
  #6 (permalink)  
Antiguo 11/09/2010, 10:17
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Ayuda con "Validacion de un formulario"

No puedes pretender que la gente aca te arregle todo, la idea de esto es aclarar las dudas y ayudarnos mutuamente pero tambien tienes que poner de tu parte, tienes que tomar el codigo y correrlo por bloques, utilizar die() para ver donde entra y donde no entra, imprimir las variables o usar var_dump() para que vacie el resultado y puedas ver que estas haciendo bien o mal. Además debes verificar si la función mail si te esta enviando el mensaje y si no lo esta enviando cual es la razón.

Saludos.
  #7 (permalink)  
Antiguo 11/09/2010, 10:59
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda con "Validacion de un formulario"

Cita:
Iniciado por juamd Ver Mensaje
No puedes pretender que la gente aca te arregle todo, la idea de esto es aclarar las dudas y ayudarnos mutuamente pero tambien tienes que poner de tu parte, tienes que tomar el codigo y correrlo por bloques, utilizar die() para ver donde entra y donde no entra, imprimir las variables o usar var_dump() para que vacie el resultado y puedas ver que estas haciendo bien o mal. Además debes verificar si la función mail si te esta enviando el mensaje y si no lo esta enviando cual es la razón.

Saludos.
El problema es que no tengo ni zorra de PHP, pero dentro de poco empezaré a aprenderlo, por eso recurro al foro para que me ayuden a solucionar el bug que hay en el codigo.

Es por eso que necesito el codigo FULL, y no que me den unos datos que ni siquiera se lo que son

  #8 (permalink)  
Antiguo 12/09/2010, 13:07
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Ayuda con "Validacion de un formulario"

Cita:
Iniciado por Xilver266 Ver Mensaje
El problema es que no tengo ni zorra de PHP, pero dentro de poco empezaré a aprenderlo, por eso recurro al foro para que me ayuden a solucionar el bug que hay en el codigo.

Es por eso que necesito el codigo FULL, y no que me den unos datos que ni siquiera se lo que son


Xilver266: lo siento, pero eso no forma parte del espíritu de FDW. La idea aquí es ayudar a los demás a aprender, no realizar trabajo gratis. Muchos de nosotros trabajamos en programación y nos pagan, ¿para qué hacerlo gratis? Sólo que sentimos la vocación docente y disfrutamos del placer de enseñar y de ayudar. Si quieres aprender PHP, éste foro pone a disposición un excelente manual para que lo hagas. ¡Suerte!

Etiquetas: Ninguno
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 00:04.