Foros del Web » Programando para Internet » PHP »

Duda con formulario

Estas en el tema de Duda con formulario en el foro de PHP en Foros del Web. Buenas, este es mi primer post en el foro, un saludo a todos. Tengo una pequeña duda con un formulario. Tengo realizado el siguiente form: ...
  #1 (permalink)  
Antiguo 28/09/2010, 02:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
Duda con formulario

Buenas, este es mi primer post en el foro, un saludo a todos.

Tengo una pequeña duda con un formulario. Tengo realizado el siguiente form:

<form action="calles.php" method="get">
Direccion: <input type="text" name="direccion" size="30">
<input type="submit" value="Consultar">
</form>

Lo que me gustaría hacer es que si el dato introducido por teclado "no es correcto", se siga visualizando el formulario con un mensaje tipo "datos incorrectos. vuelva a intentarlo".

Con este código lo que ocurre es que salta al .php y una vez ahí muestra por pantalla algún mensaje de error, cuando visualmente lo que interesa es que el usuario que introduzca datos por teclado, pueda volver a intentarlo sin tener que cambiar de pagina ni nada.

Se puede hacer algo en php con esto?
  #2 (permalink)  
Antiguo 28/09/2010, 02:37
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Duda con formulario

Envíalo a la misma página y no a calles.php y cuando envie validas.
Si no se adecúa a lo que debe haber en ese campo que escriba en el value del campo el error.

En este ejemplo sencillo está para que la dirección no pueda ser únicamente números. Ya tú lo validas como creas.

Ahora bien si lo que quieres es algo que valide cada vez que pulse una tecla o así, te recomiendo que ya uses javascript o ajax.

Código PHP:
<?php
if( isset($_POST['subir']) )
{
    if( 
is_numeric($_POST['direccion']) ) // mostrará error si sólo escribe números
        
$error="dato err&oacute;neo";
    else{
        
//el código que tuvieses en calles.php
    
}
}
?>

<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post">
Direccion: <input type="text" name="direccion" size="30" value="<?php if(isset($error))echo $error?>">
<input type="submit" name="subir" value="Consultar">
</form>
Un saludo.
  #3 (permalink)  
Antiguo 28/09/2010, 02:37
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Duda con formulario

Buenas caybar21, bienvenid@ al foro.

Bueno, lo que dices se puede hacer de varias maneras con: PHP, Javascript, Ajax...
Pero como estamos en el foro de PHP, lo haremos en PHP

Así que para hacer lo que quieres deberías hacer esto:

Código PHP:
Ver original
  1. <?php
  2. $accion = $_GET['accion'];
  3. switch ($accion) {
  4.     case 'enviar':
  5.         $_POST['direccion'];
  6.         if(empty($direccion)){
  7.             echo 'El campo dirección esta vacío';
  8.         }else{
  9.             echo 'El campo direccion contiene:'.$_POST['direccion'];
  10.         }
  11.         break;
  12.    
  13. }
  14. ?>
<form action="borrar2.php?accion=enviar" method="post">
Direccion: <input type="text" name="direccion" size="30">
<input type="submit" value="Consultar">
</form>

Nota que he cambiado el metodo GET por POST, ya que en los formularios, es recomendable usar POST.

Saludos,

Etiquetas: formulario
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 06:10.