Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: octavioxd en 18 Mayo 2010, 20:27 pm



Título: El problemas mas boludo a la hora de validar un formulario (SOLUCIONADO)
Publicado por: octavioxd en 18 Mayo 2010, 20:27 pm
Hola a todos  ;D como andan les traigo otro problema para que me lo resuelvan.
miren lo que me anda pasando tengo que validar este formulario pero por ejemplo no seteo ningun dato me tirara los todos los errores en este caso son 2 nombre y apellido pero si setteo uno y el otro no igual me lo valida aca hay un error por que supuestamente antes no debe ser validado hasta que todos los campos hayan sido seteados correctamente. este es codigo.

Código
  1. <?php
  2. $error = ''; // esta vacia //
  3. if(isset($_POST['nombre'])){
  4. $nombre = $_POST['nombre'];
  5. }else{
  6. $error .=  'Nombre,';
  7. }
  8. if(isset($_POST['apellido'])){
  9. $apellido = $_POST['apellido'];
  10. }else{
  11. $error .=  'apellido,';
  12. }
  13. if($error == NULL){
  14. echo "ok";
  15. }else{
  16. $error_explode = explode(',',$error);
  17. foreach($error_explode as $e2){
  18. echo '<strong><span style="color:red">'.$e2.'</span></strong>'.'<br/>';
  19. }
  20. }
  21. ?>

Al parecer hay un error y no adiere datos al la variable $error que es la encargada de almacenar los errores con coma para deszpues con explode poder separarlos y mostrarlos mas lindos...

Espero que me ayuden ya que estoy desesperado un saludo a todos ya gracias siempre por la buena onda..  ;D


Título: Re: El problemas mas boludo a la hora de validar un formulario
Publicado por: N4X en 18 Mayo 2010, 23:37 pm
Código
  1. <?php
  2. $error = ''; // esta vacia //
  3. if(isset($_POST['nombre'])){
  4. $nombre = $_POST['nombre'];
  5. }else{
  6. $error .=  'Nombre,';
  7. }
  8. if(isset($_POST['apellido'])){
  9. $apellido = $_POST['apellido'];
  10. }else{
  11. $error .=  'apellido,';
  12. }
  13. if($error == NULL){
  14. echo "ok";
  15. }else{
  16. $error_explode = explode(',',$error);
  17. foreach($error_explode as $e2){
  18. echo '<strong><span style="color:red">'.$e2.'</span></strong>'.'<br/>';
  19. }
  20. }
  21. ?>

la verdad si que es tonto...
el code es tuyo? o es de algún lado??

Código
  1. $error = ''; // esta vacia //
  2. if($error == NULL){

notas la diferencia de tipo de datos?

no es lo mismo una cadena '' que null..

tendrias que hacer: $error = NULL;


Título: Re: El problemas mas boludo a la hora de validar un formulario
Publicado por: octavioxd en 19 Mayo 2010, 03:34 am
ni aun asi funciona si setteo un solo dato ya lo valida.... para que no lo valide tengo no tengo que settear ningun y yo quiero que me tire error tanto si setteo un solo campo que si no setteo ninguno..


Título: Re: El problemas mas boludo a la hora de validar un formulario
Publicado por: N4X en 19 Mayo 2010, 13:05 pm
Código
  1. <?php
  2. $error = ''; // esta vacia //
  3. if(isset($_POST['nombre']) && strlen($_POST['nombre']) > 0){
  4. $nombre = $_POST['nombre'];
  5. }else{
  6. $error .=  'Nombre,';
  7. }
  8. if(isset($_POST['apellido']) && strlen($_POST['apellido']) > 0 ){
  9. $apellido = $_POST['apellido'];
  10. }else{
  11. $error .=  'apellido,';
  12. }
  13. if($error == ''){
  14. echo "ok";
  15. }else{
  16. $error_explode = explode(',',$error);
  17. foreach($error_explode as $e2){
  18. echo '<strong><span style="color:red">'.$e2.'</span></strong>'.'<br/>';
  19. }
  20. }
  21.  
  22. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST" >
  23.        Nombre: <input type="textbox" name="nombre" /><br />
  24.        Apellido: <input type="textbox" name="apellido" /><br />
  25.        <input type="submit" value="enviar" />
  26.     ';
  27. ?>
  28.  

pasé por alto el detalle del post...

con el isste se valida como correcto ya que lo toma como una cadena vacía...
para eso comprueba que su longitud es mayor que nada..
también deberias quitar los espacios en blanco al hacer esa comprobación con str_replace().

Y así te evitas que metan como nombre " " para saltarse la validación


Título: Re: El problemas mas boludo a la hora de validar un formulario
Publicado por: octavioxd en 19 Mayo 2010, 19:48 pm
Gracias NAX-SYNTAX.. Ya esta solucionado el problema y me estaba imaginando que el problema provenia por eso.. Gracias!