Foros del Web » Programando para Internet » PHP »

formularios

Estas en el tema de formularios en el foro de PHP en Foros del Web. Hola a todos, Tengo varios formularios durante mi aplicación y quiero hacer validaciones de formato y comprobar datos en la BD cuando pulso los botones ...
  #1 (permalink)  
Antiguo 13/03/2007, 13:37
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 2 meses
Puntos: 0
formularios

Hola a todos,

Tengo varios formularios durante mi aplicación y quiero hacer validaciones de formato y comprobar datos en la BD cuando pulso los botones de enviar.

He pensado en validarlos con javascript (formato) y en el servidor (para las bd), pero quiero que si hay algun error, y vuelva a la página no se me hayan borrado los datos que había metido...

Alguna idea? Lo estoy planteando bien ?
  #2 (permalink)  
Antiguo 13/03/2007, 13:40
 
Fecha de Ingreso: septiembre-2006
Mensajes: 52
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: formularios

Cita:
Iniciado por Vane_ Ver Mensaje
Hola a todos,

Tengo varios formularios durante mi aplicación y quiero hacer validaciones de formato y comprobar datos en la BD cuando pulso los botones de enviar.

He pensado en validarlos con javascript (formato) y en el servidor (para las bd), pero quiero que si hay algun error, y vuelva a la página no se me hayan borrado los datos que había metido...

Alguna idea? Lo estoy planteando bien ?
Hola Vane

yo lo que hago es despues de llenar la pagina(s) los direcciono a una pagina previa, en la cual pueden checar si todos los datos estan bien llenados con 2 botones de opcion, si esta bien llenada, se manda a la base de datos y si no lo regresa para que corriga el y los campos mal llenados.
  #3 (permalink)  
Antiguo 13/03/2007, 14:03
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: formularios

El usuario es el que tiene que pulsar 1 boton para validar o lo haces tú automáticamente? Se te guardan los cambios?
  #4 (permalink)  
Antiguo 13/03/2007, 14:20
 
Fecha de Ingreso: septiembre-2006
Mensajes: 52
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: formularios

Cita:
Iniciado por Vane_ Ver Mensaje
El usuario es el que tiene que pulsar 1 boton para validar o lo haces tú automáticamente? Se te guardan los cambios?
creo que no me explique

mira suponiendo que tienes una pagina donde capturas los datos
FORM1.php

Código:
<form method="POST" action="form_prevista.php" onSubmit="return formCheck(this);">
  
  <table width="93%"  border="0"  cellpadding="5">
    <tr>
      <td><div align="right" class="Estilo3">Nombre del sitio : </div></td>
      <td><input name="sitio" type="text" id="sitio" size="55" maxlength="50"></td>
    </tr>
    <tr>
      <td><div align="right" class="Estilo3">Referencia principal  :</div></td>
      <td><input name="refprin" type="text" id="refprin" size="35" maxlength="30"></td>
    </tr>
    <tr>
      <td><div align="right"><span class="Estilo3">Tipo de visita  :</span></div></td>
      <td><input name="pr" type="radio" value="P" checked>PROGRAMADA 
        <input name="pr" type="radio" value="R" >REPROGRAMADA</td>
    </tr>
<tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Enviar"></td>
    </tr>
  </table>
  <br>
</form>

la informacion capturada la enviamos a una pagina (form_prevista.php) en donde se va a mostrar la informacion de los datos que se capturo

FORM_PREVISTA.php
Código:
<form method="POST" action="alta_datos.php">
  <table width="93%"  border="0"  cellpadding="5" cellspacing="5">
    <tr>
      <td><div align="right" class="Estilo19 Estilo20">Nombre del sitio : </div></td>
      <td><?php echo $_POST['sitio'] ?><input name="sitio" type="hidden" id="sitio" value="<?php echo $_POST['sitio'] ?>"></td>
    </tr>
    <tr>
      <td><div align="right" class="Estilo18">Referencia principal  :</div></td>
      <td><?php echo $_POST['refprin'] ?><input name="refprin" type="hidden" id="refprin" value="<?php echo $_POST['refprin'] ?>"></td>
    </tr>
    <tr>
      <td><div align="right" class="Estilo24">Tipo de visita  :</div></td>
      <td><?php echo $_POST['pr'] ?><input name="pr" type="hidden" id="pr" value="<?php echo $_POST['pr'] ?>"></td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">
        <p>&nbsp;</p>
        <p><span class="Estilo9">LA INFORMACION QUE ESTA CAPTURADA ES CORRECTA?</span>
		&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="Submit" value="Si, Enviar">
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <input type="button" value="No, Modificar" onClick="history.back()">        
            </p>
            </p>
      </div></td>
    </tr>
  </table>
  <br>
</form>
aqui en esta segunda previa pagina, tengo 2 botones uno que me confirma que la informacion capturada esta correcta y el otro que me dice que cuando menos hay un error en algun campo y asi me regresa a la pagina anterior, con los campos llenados, sin perder la informacion que previanmente capture y asi corregir donde hay error

espero te sirva
  #5 (permalink)  
Antiguo 13/03/2007, 14:38
 
Fecha de Ingreso: febrero-2007
Mensajes: 244
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: formularios

Así que el usuario tiene que darle por 2º vez a otro botón....

En realidad eso no es lo que quiero, quiero que todo el proceso sea transparente para el usuario, y que acepte y se haga todo.
  #6 (permalink)  
Antiguo 13/03/2007, 15:48
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: formularios

Pues para tal caso tienes que hacer todo en la misma pagina.

Este ejemplo es sencillo, puedes mejorarlo logicamente..
Código PHP:
if(isset($_GET['accion']) && ($_GET['accion'] == 'reg') ){
    if (
FunValidarDatos()){
        
header("Location: pag_signuiente.php");
    }
}

global 
$error;
function 
FunValidarDatos(){
    global 
$error;
    if (isset(
$_POST['email'])){
        
//buscas en la BD si el mail esta registrado ejemplo
        
if($_POST['email'] == '[email protected]'){
            
$error 'email registrado';
            return 
false;
        }else{
            return 
true;
        }
    }
}
function 
FunInputText($nombre,$valor '',$parametros '',$ins_valor false) {
    
$text '<input type="text" name="' $nombre '"';    
    if ((
$ins_valor == true) && (isset($GLOBALS[$nombre]))) {
        
$text .= ' value = "' stripslashes(htmlspecialchars($GLOBALS[$nombre])) . '"';
    }elseif (
$valor != '') {
        
$text .= ' value ="' htmlspecialchars($valor) . '"';
    }
    if (
$parametros != '') {
        
$text .= ' ' $parametros;
    }
    
$text .= '>';
    return 
$text;
}
echo 
$error;
echo 
'
<form name="form1" method="post" action="test.php?accion=reg">
nombre: ' 
FunInputText('nombre','','',true) . '<br>
email: ' 
FunInputText('email','','',true) . '<br>
telefono: ' 
FunInputText('telefono','','',true) . '<br>
<input type="submit" value="registrar">
</form>'

Espero q te ayude....

Salu2
__________________

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 20:19.