New question

Question:

Date: 03-07-2021 04:44:24 (In Spanish)

Crear un bucle que me lance por pantalla todos los errores del registro de usuario[Resolved]

Tengo un formulario de registro de usuario y lo que quiero lograr es que cuando un usuario se registre mal este lance todos los errores por pantalla dentro de una lista, no me importa si se necesita un for o un while, solo quiero recorrer he imprimir por pantalla todos los errores.

La variable se llama: $errors y no es un array, mas bien están concatenados todos los errores del usuario dentro de la variable por ejemplo esta es la forma en la que están concatenados los errores con un punto antes del signo de igual "="

if(empty($name)){
        $errors = 'Debes colocar tu nombre';
    }

    if(empty($surname)){
        $errors .= 'Debes colocar tu apellido';
    }

    if(empty($email)){
        $errors .= 'La dirección de correo electrónico no puede estar vacio';
    }


Espero me puedan ayudar...
Tags: PHP - Question Votes: 0 - Answers: 3 - Views: 3 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 03-07-2021 07:33:01 Si lo que deseas es mostrar una lista (no voy a hablar de otras formas de lograr lo que quieres), primero, cada error debes concatenarlo como si fuera el elemento de una lista. Por ejemplo, en lugar de hacer
    if(empty($name)){
            $errors .= 'Debes colocar tu nombre';
        }

    Debes hacer
    if(empty($name)){
            $errors .= '<li>Debes colocar tu nombre</li>';
        }

    Luego, pasas esa lista de vuelta al formulario (mediante sesiones o mediante una variable GET) y haces una validación en el formulario de registro:
    if($errors) {
        echo '<ul>' . $errors . '</ul>';
    }

    Debes darte cuenta que $errors se concatena consigo misma ($errors .= .....) para que todos los errores se encuentren en una sola variable.
      Votes: 1 - Link answer
     
  • Date: 03-07-2021 14:51:07 Aun que he solucionado el problema de forma diferente. He creado un array vacio y he indo agregando datos al array con los errores.

    array = [];


    if(empty($email)){
            array_push($errors, 'La direcci&oacute;n de correo electr&oacute;nico no puede estar vacio');
        }


    Luego he hecho un foreach para recorrer y luego imprimir los errores por pantalla.
      Votes: 0 - Link answer
     
  • Date: 04-07-2021 06:32:39 Muy bien. Como ves hay muchas maneras de solucionar un problema y ninguna es mejor o peor que la otra. Al final, el usuario no califica cómo lo hiciste, sino si funciona como se espera o no.   Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In