Foros del Web » Programando para Internet » PHP »

redireccionamiento de una pagina

Estas en el tema de redireccionamiento de una pagina en el foro de PHP en Foros del Web. saludos, tengo un problemilla tengo un formulario sobre datos personales que debo enviar a una base de datos, pero para que pueda enviarse debe ser ...
  #1 (permalink)  
Antiguo 25/07/2006, 16:16
Avatar de devildriver  
Fecha de Ingreso: julio-2006
Mensajes: 118
Antigüedad: 17 años, 9 meses
Puntos: 0
redireccionamiento de una pagina

saludos, tengo un problemilla tengo un formulario sobre datos personales que debo enviar a una base de datos, pero para que pueda enviarse debe ser comparado si existe el registro y otro grupo de restricciones, mi problema esta en el redireccionamiento cuando por ejemplo me falto agregar la cedula a un campo coloco un aviso o advertencia que falta un dato y ademas pongo un link para que me regrese al formulario pero cuando le doy al link me borra todo lo que yo haya escrito y tengo que empezar en cambio si le doy al navegador atras me lo conserva. Queria que el link fuera como el del navegador que regresara a lo q estaba haciendo. Muchas Gracias
  #2 (permalink)  
Antiguo 25/07/2006, 16:30
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Usas el metodo POST en el formulario?
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #3 (permalink)  
Antiguo 25/07/2006, 16:45
Avatar de Hollman  
Fecha de Ingreso: enero-2003
Ubicación: Bogotá - Colombia
Mensajes: 202
Antigüedad: 21 años, 2 meses
Puntos: 1
Hola....

Cada uno tiene su forma manera de programar. Pero no sería mejor que por javascript validaras los campos que debieran tener contenido antes de enviar el formulario? De todas formas a tu modo hay 2 maneras:

1. En al action del form colocar el mismo script y en la parte superior de éste (antes del tag <html>) realizar las validaciones, si cumplen hacer la inserción y listo.

2. sería enviar a traves de $_GET o $_POST las variables a otro script, en este realizar las validaciones. En caso de tener inconsisrtencias llamas al anterior script (el de la forma) y le re-envias las variables llenas a traves de la URL; de esta manera el script de la forma conoce las variables y su contenido, por consiguiente puedes colocar su valor mediante programación en el value.

Espero me hayas entendido.

Éxitos.
  #4 (permalink)  
Antiguo 25/07/2006, 17:23
Avatar de devildriver  
Fecha de Ingreso: julio-2006
Mensajes: 118
Antigüedad: 17 años, 9 meses
Puntos: 0
si uso el metodo post, gracias por responder lo q pasa es que soy nuevo en esto y muchas cosas que no entiendo, solo quiero dar un link de paso atras para no poerder la informacion que yo haya colocado, aunque no es que me falte precisamente un campo puede ser que ya tenga otro registros con una misma cedula etc...y por eso quiero poder regresar sin perder lo demas escrito
  #5 (permalink)  
Antiguo 25/07/2006, 18:02
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Se supone q con POST no pierdes los datos si regreesas... pon el codigo para darme una idea de como lo estas haciendo.
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #6 (permalink)  
Antiguo 26/07/2006, 23:10
Avatar de devildriver  
Fecha de Ingreso: julio-2006
Mensajes: 118
Antigüedad: 17 años, 9 meses
Puntos: 0
parte del codigo

disculpa la tardanza amigo este es el formulario se llama alumregdatos.php

Código HTML:
[PHP]

<form name="form1" method="post" action="agregarni.php">
Nombres   <input name="ninombre" type="text" size="25" maxlength="25">

Apellidos:<input name="niapellido" type="text" size="25" maxlength="25">
 
Cedula:<input name="cedulani" type="text" size="10" maxlength="10">

 Fecha de Nacimiento:<input name="nifechan" type="text" value="dd-mm-yyyy" size="15" maxlength="10">

Direccion:<textarea name="nidireccion" cols="35"></textarea>
  
<?  $ano=date("Y");
                        $mes=date("F");
						$dia=date("d");
if ($mes=="January") $mes="01";
if ($mes=="February") $mes="02";
if ($mes=="March") $mes="03";
if ($mes=="April") $mes="04";
if ($mes=="May") $mes="05";
if ($mes=="June") $mes="06";
if ($mes=="July") $mes="07";
if ($mes=="August") $mes="08";
if ($mes=="September") $mes="09";
if ($mes=="October") $mes="10";
if ($mes=="November") $mes="11";
if ($mes=="December") $mes="12";
						?>  

Año de Ingreso    <input name="niaño" type="text" value="<? echo $ano?>" size="4" maxlength="4" onfocus="this.blur()">


      <select name="facni">
      <option value="Ingenieria">Ingenieria</option>
  
      </select>

Carrera:   
    
<select name="carrera">
      <option value="Civil">Civil</option>
      <option value="Industrial">Industrial</option>
      <option value="Sistemas">Sistemas</option>
      <option Value="Telecomunicaciones">Telecomunicaciones</option>
    </select>

Numero Del Boucher:<input name="nboucher" type="text" size="15">
    
Fecha Inscripci&oacute;n:<input name="fecha" type="text" value="<? echo $dia?>-<? echo $mes?>-<? echo $ano?>" size="10" maxlength="10" onfocus="this.blur()">
     

 <input type="submit" value = "Registrar Datos" >
   
<input type="reset" value = "Cancelar" >

</form>
[/PHP]

y esta es la pagina donde hago la consulta y compruebo la valides del formulario. se llama agregarni.php

Código PHP:
<?
trim
($nboucher);
trim($ninombre);
trim($niapellido);
trim($cedulani);
trim($nifechan);
trim($nidireccion);

$db mysql_connect("localhost""root");

mysql_select_db("usm",$db);


$existe = @ mysql_num_rows(mysql_query("SELECT planilla FROM banco WHERE planilla = ".$nboucher));

if (!
$nboucher || !$ninombre || !$niapellido || !$cedulani || !$nifechan ||!$nidireccion)
{echo 
?>
<table width="400" border="0" align="center">
<tr>
    <td height="49" align="center"><img src="prueba/advertencia.gif"></td>
  </tr>
</table>
<table width="400" border="0" bordercolor="#000000" align="center">
  
  <tr>  <td><img src="prueba/icone_advertencia2.gif"></td> 

    <td bgcolor="#32afde" align="center"><p><font color="#000000" size="+1" face="Courier New, Courier, mono"><strong>Debe llenar Todos los Campos.</strong></font></p>
    <p><font color="#000000" size="+1" face="Courier New, Courier, mono"><strong><a href="alumnregdatos.php"><img src="prueba/botonATRAS.gif" width="75" height="62" border="0"></a></strong></font></p></td>
  </tr>
</table>
<?
exit;}
if ( 
$existe ==0) {

echo 
?>
<p>&nbsp;</p>
<table width="400" border="0" align="center">
  <br>
  <br>
  <br>
  <br>

  <tr>
    <td height="49" align="center"><img src="prueba/advertencia.gif"></td>
  </tr>
</table>
<table width="400" border="0" bordercolor="#000000" align="center">
  
  <tr>  <td><img src="prueba/icone_advertencia2.gif"></td> 

    <td bgcolor="#32afde" align="center"><p><font color="#000000" size="+1" face="Courier New, Courier, mono"><strong>El Número del Boucher no es valido por favor intente de nuevo.</strong></font></p>
    <p><font color="#000000" size="+1" face="Courier New, Courier, mono"><strong><a href="alumnregdatos.php"><img src="prueba/botonATRAS.gif" width="75" height="62" border="0"></a></strong></font></p></td>
  </tr>
</table>
<?
exit;}

$comprobarboucher mysql_num_rows(mysql_query("SELECT num_boucher FROM boucher WHERE num_boucher = ".$nboucher));

if ( 
$comprobarboucher >=1)
{ echo
?>
<p>&nbsp;</p>
<table width="400" border="0" align="center">
  <br>
  <br>
  <br>
  <br>

  <tr>
    <td height="49" align="center"><img src="prueba/advertencia.gif"></td>
  </tr>
</table>
<table width="400" border="0" bordercolor="#000000" align="center">
  
  <tr>  <td><img src="prueba/icone_advertencia2.gif"></td> 

    <td bgcolor="#32afde" align="center"><p><font color="#000000" size="+1" face="Courier New, Courier, mono"><strong>El Número del Boucher ya ha sido procesado...</strong></font></p>
    <p><font color="#000000" size="+1" face="Courier New, Courier, mono"><strong><a href="alumnregdatos.php"><img src="prueba/botonATRAS.gif" width="75" height="62" border="0"></a></strong></font></p></td>
  </tr>
</table>
<?
exit;}

else
{
$sql1 "INSERT INTO inscripcion (nombre, apellido, cedula, fecha_nac, direccion,  año_ingreso, carrera, facultad) ";

$sql1 .= "VALUES ('$ninombre','$niapellido','$cedulani','$nifechan','$nidireccion','$niaño','$carrera','$facni')";

$result1 mysql_query($sql1);

$sql "INSERT INTO boucher (num_boucher, cedula_alum, fecha) ";
$sql .= "VALUES ('$nboucher','$cedulani', '$fecha')"
$result mysql_query($sql);

echo 
"¡Gracias! Hemos recibido sus datos.\n<br>";
echo 
"<br>";
$consulta="select nombre, apellido,cedula,fecha_nac,direccion,carrera,facultad,año_ingreso from inscripcion where cedula='".$cedulani."'";
$resultado=mysql_query($consulta);
$num_resultados=mysql_num_rows($resultado);

    
$fila=mysql_fetch_array($resultado);
    
?> 
    <p>&nbsp;</p>
    <p align="center">Nombres: 
      <input name="nombre" type="text" value="<? echo $fila["nombre"?>" >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apellidos:
<input name="nombre" type="text" value="<? echo $fila["apellido"?>" >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cedula:
<input name="nombre" type="text" value="<? echo $fila["cedula"?>" >
    <br>
</p>
<p align="center">Fecha De Nacimiento: 
    <input name="nombre" type="text" value="<? echo $fila["fecha_nac"?>" >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p align="center"> Dirección:
  <textarea name="nombre"><? echo $fila["direccion"?></textarea>
  <br>
<img src="prueba/index_clip_image001.gif" width="703" height="6"></p>
<p align="center">  Facultad: 
    <input name="nombre" type="text" value="<? echo $fila["facultad"?>" >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Carrera:
<input name="nombre" type="text" value="<? echo $fila["carrera"?>" >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Año De Ingreso:
<input name="nombre" type="text" value="<? echo $fila["año_ingreso"?>" >
    <br>
    <br>    
</p>
<?

$consulta2
="select num_boucher from boucher where cedula_alum='".$cedulani."'";
$resultado2=mysql_query($consulta2);
$num_resultados2=mysql_num_rows($resultado2);

    
$fila2=mysql_fetch_array($resultado2);
    
?>
<div align="center">Numero Del Boucher:<strong>  <input name="nboucher" type="text" value="<? echo $fila2["num_boucher"?>" >
  </strong><br>    
      <img src="prueba/index_clip_image001.gif" width="703" height="6"><br>    
      <br>    
      <br>    
      <?
    
    


$dia
=date("l");
if (
$dia=="Monday"$dia="Lunes";
if (
$dia=="Tuesday"$dia="Martes";
if (
$dia=="Wednesday"$dia="Miércoles";
if (
$dia=="Thursday"$dia="Jueves";
if (
$dia=="Friday"$dia="Viernes";
if (
$dia=="Saturday"$dia="Sabado";
if (
$dia=="Sunday"$dia="Domingo";


$dia2=date("d");

$mes=date("F");
if (
$mes=="January"$mes="Enero";
if (
$mes=="February"$mes="Febrero";
if (
$mes=="March"$mes="Marzo";
if (
$mes=="April"$mes="Abril";
if (
$mes=="May"$mes="Mayo";
if (
$mes=="June"$mes="Junio";
if (
$mes=="July"$mes="Julio";
if (
$mes=="August"$mes="Agosto";
if (
$mes=="September"$mes="Setiembre";
if (
$mes=="October"$mes="Octubre";
if (
$mes=="November"$mes="Noviembre";
if (
$mes=="December"$mes="Diciembre";


$ano=date("Y");

echo 
"$dia $dia2 de $mes de $ano";

echo 
"<br><strong>Importante: Por Favor Imprima su Recibo de Inscripcion.</strong><br>";
  
?> </p>
      <table width="200" border="0">
        <tr>
          <td><div align="center"><img src="prueba/lexmark---impresora.gif"></div></td>
        </tr>
      </table>
      <div id="divButtons" name="divButtons"> 
<input type="button" value = "Imprimir" onclick="printPage()" style="font:bold 11px verdana;color:yellow;background-color:#32AFDE;">
</div> <?
}
?>


disculpa lo desordenado en la programacion pero soy nuevo en esto. agradecere enormemente tu enseñanza

Última edición por Cluster; 27/07/2006 a las 06:16
  #7 (permalink)  
Antiguo 01/08/2006, 08:51
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Para q no se pieran los datos, usa GET, no se por q te dije POST ...
y ya con eso no se te pierden los datos
<input type="button" value="Atrás" onclick="history.back()".... cuando clikees al boton se regresa y tus datos ahi estaran
Saludos !
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #8 (permalink)  
Antiguo 01/08/2006, 11:54
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
Ese problema lo tuve hace tiempo, solo sabia usar php y nada de javascript (bueno, ahora sigo casi igual.. jojojo) el caso es que no sabia como validar el formulario antes de enviarlo, por lo que se me ocurrio que al momento de enviar el formulario todas los campos fueran a dar variables de sesion, validaba y si encontraba algo mal redireccionaba antes de intentar la insercion de datos, y en la pagina original, donde estaba el formualrio los campos del mismo tenian la instruccion de que si existia la variable de session "x" se llenaran con el contenido de la misma.

Igual y es un poco engorroso, pero me sirvio mucho tiempo, y nunca me fallo.. jojojo... ahora se un poco de javascript y es mucho mas facil la validacion.

Saludos.
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
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 19:42.