Nueva pregunta

Pregunta:

Fecha: 03-07-2021 04:44:24 (En Español)

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

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...
Etiquetas: PHP - Pregunta Votos: 0 - Respuestas: 3 - Vistas: 6 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 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.
      Votos: 1 - Link respuesta
     
  • Fecha: 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.
      Votos: 0 - Link respuesta
     
  • Fecha: 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.   Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com