No se si me entendereis.
Gracias de antemano

| |||
Re: botón atrás Para eso, lo mejor es redireccionar desde el servidor. En una página que procesa un formulario, por ejemplo, cuando terminás el procesamiento simplemente le das header('Location: nueva_pagina'); exit; y listo, el navegador será redirigido a nueva_pagina directamente, y una actualización de la página no provocará que los datos del formulario se reenvíen. Saludos. |
| ||||
Re: botón atrás GRACIAS ALVLIN.Pero si es la misma pagina a la que quiero llamar pero que tiene varios formularios distintos en el mismo script ,si le doy a un href que tiene: javascript: window.history.go(-1) me desace la ultmia accion y yo quiero que me lleve al anterior formulario.Como seria entonces?? |
| ||||
Re: botón atrás Varios formularios que en el mismo script interactuan segun los if y que con el href vuelven a la accion anterior,queriendo yo que me vuelva al anterior formulario: <table width="50%"> <tr align="center" bgcolor="#0000FF"> <th colspan="2" height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="3" color="#FFFFFF"><b>Modificar usuario <b></font></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Correo: </font></th> <th align="left" width="70%"><input type="text" name="correo" value=<?php echo $fila2["correo"];?>></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Estado: </font></th> <th align="left" width="70%"><input type="radio" name="estado" value="1" <?php if ($fila2["estado"]==1){echo "checked";}?>>Activo <input type="radio" name="estado" value="0" <?php if ($fila2["estado"]==0){echo "checked";}?>>Inactivo</th> <tr align="center" bgcolor="#FFFFCC" valign="middle"> <th colspan="2" height="40" width="30%"> <input type="submit" name="enviar" value="Enviar" ONMOUSEOVER="this.className = 'over';" ONMOUSEOUT="this.className = '';" ONMOUSEDOWN="this.className = 'down';" ONMOUSEUP="this.className = 'over';"></th></font> </tr> </table> <center> <table width="50%" border="0" aling="center" > <tr align="center"> <td height="40"><font face="Arial, Helvetica, sans-serif" size="3" color="#0000FF"><i> Pulse <A HREF=" javascript: window.history.go(-1) "><font face="Arial, Helvetica, sans-serif" size="2" color="#FF0000">Aquí</font></a> para vover atrás <table width="50%" border="0" aling="center" > <tr align="center"> <td height="40"><font face="Arial, Helvetica, sans-serif" size="3" color="#0000FF"><i> <?php } } //si se ha pulsado enviar,se actuliza el perfil (solo lo hace el admin).. if (isset($enviar)) { ?> <center> <table width="50%" border="0" aling="center" > <tr align="center"> <td height="40"><font face="Arial, Helvetica, sans-serif" size="3" color="#0000FF"><i> <?php if($nombre=="" or $apellidos=="" or $usu=="" or $clave=="" or $correo=="") { echo "<center><font color=\"blue\">Debe rellenar todos los datos<br>"; ?><BR>Pulse <A HREF=" javascript: window.history.go(-1) "><font face="Arial, Helvetica, sans-serif" size="2" color="#FF0000">Aquí</font></a> para vover atrás <?php } else { $id_mod=$_SESSION["id_mod"]; if($perfil=="Jefe") { $perfil="Jefe de Departamento"; $cadenaexis2="SELECT * FROM usuarios WHERE perfil=\"$perfil\" and id_unidad=\"$unid_organizativa\" and id<>\"$id_mod\""; //echo "$cadenaexis2"; $consultaexis2=mysql_query($cadenaexis2,$conexion) or die ("Error al consultar familias a null"); $nfilasexis2=mysql_num_rows($consultaexis2); if($nfilasexis2==0) { $cadena_mod="UPDATE usuarios SET nombre=\"$nombre\",apellidos=\"$apellidos\",usuari o=\"$usu\",clave=\"$clave\",correo=\"$correo\",est ado= \"$estado\",id_unidad=\"$unid_organizativa\",perfi l=\"$perfil\" where id like \"$id_mod\""; //echo $cadena_mod; $consulta_mod=mysql_query($cadena_mod, $conexion) or die ("Error al actualizar permisos del usuario"); if ($consulta_mod) { echo "<br><font color=\"blue\">Registro actualizado<br><br></font>"; ?>Pulse <A HREF=" javascript: window.history.go(-2) "><font face="Arial, Helvetica, sans-serif" size="2" color="#FF0000">Aquí</font></a> para vover atrás<?php } } else { $cadenanom="SELECT nombre FROM unidades_organizativas WHERE id=\"$unid_organizativa\""; $consultanom=mysql_query($cadenanom,$conexion) or die ("Error al consultar familias a null"); $filanom=mysql_fetch_array($consultanom); echo "<center><font color=\"blue\">Ya existe Jefe de Unidad Organizativa de \"". $filanom["nombre"] ."\"<br>"; ?><BR>Pulse <A HREF=" javascript: window.history.go(-1) "><font face="Arial, Helvetica, sans-serif" size="2" color="#FF0000">Aquí</font></a> para vover atrás <?php } } else { $cadena_mod="UPDATE usuarios SET nombre=\"$nombre\",apellidos=\"$apellidos\",usuari o=\"$usu\",clave=\"$clave\",correo=\"$correo\",est ado= \"$estado\",id_unidad=\"$unid_organizativa\",perfi l=\"$perfil\" where id like \"$id_mod\""; //echo $cadena_mod; $consulta_mod=mysql_query($cadena_mod, $conexion) or die ("Error al actualizar permisos del usuario"); if ($consulta_mod) { echo "<br><font color=\"blue\">Registro actualizado<br><br></font>"; ?>Pulse <A HREF=" javascript: window.history.go(-2) "><font face="Arial, Helvetica, sans-serif" size="2" color="#FF0000">Aquí</font></a> para vover atrás<?php } } } } if (empty($_SESSION["autentificado"]) or isset($nuevo) or isset($alta)) //si no estoy autentificado muestro inputs pa registrarse { ?> <center> <table width="50%"> <tr align="center" bgcolor="#0000FF"> <th colspan="2" height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="3" color="#FFFFFF"><b>Registro de Nuevo Usuario<b></font></th> </tr> <tr align="center" bgcolor="#FFCC99" valign="middle"> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Nombre: </font></th> <th align="left" width="70%"><input type="text" name="nombre2" value="<?=$nombre2?>"></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Apellidos: </font></th> <th align="left" width="70%"><input type="text" name="apellidos2" value="<?=$apellidos2?>"></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Usuario: </font></th> <th align="left" width="70%"><input type="text" name="user2" value="<?=$user2?>"></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Contraseña (hasta 8 caracteres): </font></th> <th align="left" width="70%"><input type="password" name="clave2" SIZE="20" MAXLENGTH="8"></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Repita la clave: </font></th> <th align="left" width="70%"><input type="password" name="clave22"></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="30%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Correo: </font></th> <th align="left" width="70%"><input type="text" name="correo2" value="<?=$correo2?>"></th> </tr> <tr align="right" bgcolor="#FFFFCC" valign="middle"> <th height="40" width="35%"><font face="Arial, Helvetica, sans-serif" size="2" color="#0000FF">Unidad Organizativa: </font></th> <th align="left" width="65%"> <?php include("conexion.php"); $cadena="SELECT nombre,id FROM unidades_organizativas"; $consulta=mysql_query($cadena) or die ("Error al consultar familias a null"); $nfilas=mysql_num_rows($consulta); if($nfilas!=0) { echo "<select name=\"unid_organizativa2\">"; } for($i=1;$i<=$nfilas;$i++) { $fila=mysql_fetch_array($consulta); $nombreunidad=$fila["nombre"]; $idunidad=$fila["id"]; //aparece en el combo el nombre de todas las familias echo "<option value=\"$idunidad\">$nombreunidad</option>"; } if($nfilas!=0) { echo "</select>"; } |
| |||
Re: botón atrás Por lo que voy entendiendo, lo que tenés es un solo script php que contiene lo que luego se convierten en varias páginas, cada una de ellas es un paso de un sistema de formularios. Si es eso, 1.- Mala idea ponerlo así. Es mucho más claro ponerlo en páginas separadas. Tendrás menos problemas y código más claro. 2.- usá variables que identifiquen claramente en qué paso estás (preferentemente variables GET). Así, pase lo que pase, solo se hace el procesamiento correspondiente a ese paso. Y podrás navegar con comodidad entre los formularios. 3.- Relacionado con 1: una buena forma de procesar series de formularios es: si tengo la página A con un formulario cuyos datos deben ser recogidos por B, mejor es hacer que el fomulario en A se envíe hacia la misma A, se procese como corresponda, y después se redirija a B. Con este método, cada página tiene un control total sobre sus datos, y una actualización por parte del usuario de la página B no causa que el formulario se envíe de nuevo. 4.- No confíes en que un history.back() te va a conservar los datos que estaban escritos en el formulario. Esta conducta es poco predecible, por desgracia (si fuera algo que todos los navegadores hicieran, nos haría la vida más fácil a los programadores). Perdón por sugerir una reescritura del sistema, pero realmente es complicado ver dónde empieza el HTML y dónde el PHP, y aún más complicado es entender el flujo del sistema. Un último comentario: la próxima vez que pegues código, usá las etiquetas BBCode [ php] y [/php], para que esto: $hola = "soy una variable"; se transforme en esto: Código PHP: Saludos. |