Kiero que a partir de un IF me redireccione a una página u a otra, siendo:
If ($var == $var2) {
(que me redireccione a pagina 1);
} else {
(me redirecciona a pagina 2);
}
que script tengo q poner?
| |||
Tenes varias opciones: Forma HTML: Código PHP: Código PHP: Código PHP: |
| ||||
Recomiendo 100% la forma HTML porque puedes especificar el tiempo en segundos del retardo. De la forma PHP tienes que tener en cuenta que la función header() tiene que estar al principio de la página por lo tanto tu condición IF deberá estar al inicio del archivo, no puede haber nada de HTML antes. La forma JS es buena, con la desventaja que no te permite dejar un retardo. En fin, el asunto te queda asi: If ($var == $var2) { echo '<meta http-equiv="refresh" content="0; URL=http://www.pagina.com/">'; } else { echo '<meta http-equiv="refresh" content="0; URL=http://www.pagina2.com/">'; } Saludos ! |
| |||
Pues yo recomiendo 101% la forma PHP .. y organizar bien tu código PHP/HTML .. Las cabeceras son enviadas al navegador y este las interpreta antes incluso de seguir leyendo el resto de HTML q puedas tener (he de ahí q a muchos le dé problemas de "cabeceras enviadas" ...) Se supone que si redireccionas es para "abandonar" en ese instante tu escript y pasar a otro .. no para tener un retardo ... Esto lo digo porqué por lo menos personalmente NUNCA muestro un mensajito tipico de "error/exito" en el mismo script que me haga un proceso (ejemplo guardar datos en una BD ..etc) para luego redireccionar .. SIEMPRE muestro el mensaje en la página que redirecciono o bien me creo paginas de "error" .. y otra de "exito" por separado o juntas .. Así evito que en ese instante que se muestra el mensaje y se espera para redirección, una recarga del navegador le pida al usuario "enviar denuevo las variables" y eso a su vez me ocasione entradas repetidas en mi BD (si estubiera haciendo un INSERT o algo así a mi BD, o si enviase un e-mail ahí .. etc .. etc ..) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |