Desarrollo Web /

Ayuda con Formularios y redireccionar con header(location:);

Participa en el tema Ayuda con Formularios y redireccionar con header(location:); en el foro Desarrollo Web.
Buenas soy nuevo en php y tengo este problema con una pagina de llenar los ...

Buscar en este tema:
 
  •  
    #1 Ayuda con Formularios y redireccionar con header(location:);
    Buenas soy nuevo en php y tengo este problema con una pagina de llenar los campos de un formulario.
    La cosa es así: al llenar los campos del formulario, si estos no están vacíos me muestra un texto en la pagina evaluarScript.php de Bienvenida y que me pude loguear con éxtio.

    Pero el problema es cuando me faltó escribir en un campo y me tiene que redireccionar de vuelta a la página del formulario, redireccionar lo hago con header( 'Location: formulario.php'); y hasta ahí bien, pero lo que yo quiero es que se mantengan los datos que sí estaban bien, o mejor dicho que los campos de texto que no estaban vacíos sigan iguales y que de ser posible me muestre con una leyenda cual está vació.


    Estos son los 2 archivos: formulario.php y evaluarScript.php

    formulario.php
    Código PHP:
    <html>

    <
    body>

    <
    form action="evaluarScript.php" method="post">

        <
    label>Nombre</label>
        <
    input type="text" name="nombre" value="" />
        </
    br>

        <
    label>Apellido</label>
        <
    input type="text" name="apellido" value=""/>
        </
    br>

        <
    label>DNI</label>
        <
    input type="text" name="dni" value=""/>
        <
    br/>

        <
    input type="submit">

    </
    form>


    </
    body>

    </
    html
    Este es el archivo evaluarScript.php:
    Código PHP:
    <html>

    <body>

    <?php
        $error 
    false;
        
        if ( !empty(
    $_POST['apellido']) ) $apellido $_POST['apellido'];
        else 
    $error true;
        
        if ( !empty(
    $_POST['nombre']) ) $nombre $_POST['nombre']; 
        else 
    $error true;
        
        if ( !empty(
    $_POST['dni']) ) $cuil $_POST['dni']; 
        else 
    $error true;
        
        if( 
    $error ){
            
    header('Location: formulario.php');
        }else{
            echo 
    "Te has logueado con exito $nombre $apellido . Bienvenido!!";
            
    header('Location: exito.php');
        }

    ?>

    </body>

    </html>
    Si pueden ayudar les agradecería. Saludos
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/desarrollo-web.264/936732-ayuda-formularios-y-redireccionar-header-location.html
    | Más
  • #2 Re: Ayuda con Formularios y redireccionar con header(location:);

    1ero, te convendría hacer una validación previa en js.
    2do, podes almacenar los valores de los en unos input ocultos, hacer un submit y recuperarlos en la 1er pagina.

    el 2do paso, podría ser opcional.

    Salu2
    Me gusta este mensaje
  • #3 Re: Ayuda con Formularios y redireccionar con header(location:);

    Te recomiendo que el formulario vaya dirigido hacia el mismo archivo que lo contiene:
    action="formulario.php"
    y en la parte superior haz la validación. Si está todo correcto redirecciónalo a "exito.php".

    También sería bueno que en la validación inicializaras las variables:
    $apellido = $nombre = $cuil = '';
    (esto es opcional)

    y al final al formulario ponle en los inputs:
    <input type="text" name="nombre" value="<?php echo $nombre;?>" />


    Si quisieras poner una leyenda específica para cada campo, te recomiendo hacer un array:
    $mensajes = array(
    'nombre' => '',
    'apellido' => '',
    'cuil' => '');

    entonces cuando valides, si el campo está vacío, además de hacer:
    $error = true;
    hagas:
    $mensajes['nombre'] = 'debe ingresar el nombre';

    Entonces el formulario quedará:
    <input type="text" name="nombre" value="<?php echo $nombre;?>" /><?php echo $mensajes['nombre'];?>

    Suerte
    Me gusta este mensaje


Estadísticas del tema
  • 2 RESPUESTAS
  • 2051 VISTAS
  • 3 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB