Foros del Web » Programando para Internet » PHP »

Como puedo hacer esto?

Estas en el tema de Como puedo hacer esto? en el foro de PHP en Foros del Web. Como hago para que cuando ejecute el index.php que es un formulario de registro que la accion la realiza sobre el registro.php y si contiene ...
  #1 (permalink)  
Antiguo 17/05/2003, 13:48
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Como puedo hacer esto?

Como hago para que cuando ejecute el index.php que es un formulario de registro que la accion la realiza sobre el registro.php y si contiene errores en el formulario al accionar sobre el otro archivo este espere unos segundos para que el usuario lea los errores y luego lo redireccione de nuevo al index.php

¿Me explico bien?
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 17/05/2003, 13:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Para redireccionar despues de un tiempo esta el meta refresh de HTML. O incluso via javascript se podria hacer.

Saludos.

PD: Procura poner titulos descriptivos a tus mensajes. Has puesto 2 seguidos con este titulo tan "descriptivo". Alguien puede pensar que es el mismo y no entrar. Es solo un consejo.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 17/05/2003, 14:06
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Disculpame por los encabezados de mis mensajes

Disculpame por los encabezados de mis mensajes. Te refieres a esto no <META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://tusitio.com/pagina.html">

pero este es el código del archivo reg.php y no se como insertar el meta ahi
Código PHP:
<?php
 $host 
"localhost";
 
$user "";
 
$pass "";
 
$dbase "registro";
 
function 
genera() {
    
$cons "bcdfghjklmnpqrstvwxyz";
    
$vocs "aeiou";
    for (
$x=0$x 6$x++) {
    
mt_srand ((double) microtime() * 1000000);
    
$con[$x] = substr($consmt_rand(0strlen($cons)-1), 1);
    
$voc[$x] = substr($vocsmt_rand(0strlen($vocs)-1), 1);
    }
    
$makepass $con[0] . $voc[0] .$con[2] . $con[1] . $voc[1] . $con[3] . $voc[3] . $con[4];
    return(
$makepass);
}

  if (!
$nombre)
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en el nombre de usuario. Por favor introduzca un nombre válido.<br></font>";
  if ((
strlen($nombre) > 25) || (strlen($nombre)<25)){
   echo 
"<font size=\"2\" face=\"Tahoma\">Su nombre de usuario debe tener m&aacute;s de 5 car&aacute;cteres o menos de 25.<br></font>";
  }
  if ((!
$password)||($password != $reppassword ))
   echo 
"<font size=\"2\" face=\"Tahoma\">Error, repita su contraseña en el campo señalado.<Br></font>";
  if (!
$email)
   echo 
"<font size=\"2\" face=\"Tahoma\">Error en su dirección de correo. Escriba una dirección de correo.<br></font>";
  if (!
ereg("^([a-zA-Z0-9\._]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})$",$email)){
   echo 
"<font size=\"2\" face=\"Tahoma\">El e-mail no es valido</font><br>";
  } 
  if (!
$institucion)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en institución. Escriba una institución.<br></font>";
  if ((
strlen($institucion) > 150) || (strlen($institucion)<5)){
    echo 
"<font size=\"2\" face=\"Tahoma\">El nombre de institución debe tener más de 5 carácteres y menos de 150.<br></font>";
  }    
  if (!
$facultad)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo facultad. Entre una facultad.<br></font>";
   if (!
$grupo)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo grupo. Entre un grupo.<br></font>";
  if (!
$telefono)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo teléfono. Escriba un número de teléfono correcto.<br></font>";
  if (!
$biper)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo biper. Escriba un número de biper correcto.<br></font>";
  if (!
$motivos)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo motivos.<br></font>";
  if ((
strlen($motivos)<5)){
    echo 
"<font size=\"2\" face=\"Tahoma\">Los motivos deben tener más de 5 caracteres.<br></font>";
  }    
  if (!
$apartamento)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo apartamento. Escriba un número de apartamento<br></font>";
  if (!
$login)
    echo 
"<font size=\"2\" face=\"Tahoma\">Error en el campo login. Escriba un login de usuario.<br></font>";
  if (
$nombre) && ($email) && (&institucion) && ($telefono) && ($motivos) && ($login) && ($password)
   {
     (
$link mysql_connect($host,$user,$pass)) || die("No puedo conectarme a la base de datos en estos momentos");
      
mysql_select_db($dbase);
      
$result mysql_query("SELECT nombre FROM registro WHERE login='$login'");
      
$pa genera();
          if (
mysql_num_rows($result))
              {
                
mysql_close($link);
                echo 
"<font size=\"2\" face=\"Tahoma\">Ya existe un usuario con ese login<br>Le sugerimos: </font>".$pa."<br>";
              }
      
$clave md5($password);
      
$queryinsert "INSERT INTO registro(nombre,email,institucion,facultad,grupo,telefono,biper,motivos,apartamento,login,password)" .
                 
"VALUES('$nombre','$email','$institucion','$facultad','$grupo','$telefono','$biper','$motivos','$apartamento','$login','$clave')";
      
mysql_query($queryinsert);
          if (
mysql_query($queryinsert)){
           echo 
"<font size=\"2\" face=\"Tahoma\">Usted esta adicionado como usuario</font>";
          }
      
mysql_close($link);
    }
?>
__________________
Ing. Reynier Pérez Mira

Última edición por Reynier; 17/05/2003 a las 14:12
  #4 (permalink)  
Antiguo 17/05/2003, 14:34
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 8 meses
Puntos: 2
Ufff... pues te toca insertar 1 millón de veces la misma etiqueta o meterla dentro de una función para llamarla cada que muestras un error.

Otra solución es meter los errores en una variable, y hacerle un echo al final junto con el "meta".

Saludos...
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #5 (permalink)  
Antiguo 17/05/2003, 14:50
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Me lo puedes explicar meor

Me lo podrías explicar con detalles pues no se como hacerlo
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 17/05/2003, 17:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si quieres usar tus META refresh .. tan sólo mete un echo " de tu META" .. justo debajo de donde presentas tus actuales mensajes de error o exito del proceso .. y .. según sea tu error o proceso terminado con exito redireccionas donde corresponda en tu META al tiempo que determines ..

Como consejo .. te recomiendo que NOO uses META de refresh así .. Redirecciona via:

Código PHP:
header("location: pagina que corresponda.php?codigo=nº");
exit; 
Oseese .. quitando tu actual mensaje de error o exito y sustituirlo por ese redireccionamiento. En la pagina donde redirecciones le pasaras la variable "codigo" (en este ejemplo) .. con su valor (nº o lo que quieras) .. Sólo tienes que procesar ese valor de esa variable en la página que redireccionas automáticamente para mostrarle su mensaje en la página destino ..


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 03:02.