![]() |
| |||
| Dejando a un lado el hecho de que haces cosas que me parecen peligrosas. Tu lo que quieres es : Al hacer click en un sitio, se carga pagina.php el hacer F5 se vuelve a cargar pagina.php y no te gusta, quieres saber si se ha apretado F5 para actuar de modo distinto. Que tal si en cada ejecucion de pagina, generas un numero aleatorio y lo guardas como session. Al hacer F5 deberia repetirse. A grandes rasgos, no he desarrollado el como, sino que suelto la idea que creo que se puede hacer. -- Shake (Alex Estevez) Today is the tomorrow you worried about yesterday, And now you know why. |
| | ||||
| ||||
| |
| |||
| Dejando a un lado el hecho de que haces cosas que me parecen peligrosas. Tu lo que quieres es : Al hacer click en un sitio, se carga pagina.php el hacer F5 se vuelve a cargar pagina.php y no te gusta, quieres saber si se ha apretado F5 para actuar de modo distinto. Que tal si en cada ejecucion de pagina, generas un numero aleatorio y lo guardas como session. Al hacer F5 deberia repetirse. A grandes rasgos, no he desarrollado el como, sino que suelto la idea que creo que se puede hacer. -- Shake (Alex Estevez) Today is the tomorrow you worried about yesterday, And now you know why. |
| |||
| No sé cómo evitar que al refrescar la página (por ejemplo con F5) no me grabe nuevamente el registro, sin tener que recurrir a una bandera o un control externo. ¿Habrá alguna forma? El problema es el siguiente: En un página (home.php) tengo un enlace que envía una variable por GET (ejemplo: sec=donde). En esta misma página recojo la variable y hago un include a la página que le corresponde, por ejemplo donde.php En donde.php grabo la información y la muestro, teniendo en cuenta otro GET (id=2). Lo normal sería que grabe y muestre la información en otra página, pero como el documento está incluido en home, no puedo mostrar los resultados en otra página porque ya no podría incluirla. Me parece que no queda otra que grabar algo en un soporte externo (tabla o archivo), indicando que ya grabó la información y no la reitere. Gracias. |
| |||
| BIGOTE tuvo el valor de escribir: > No entiendo que cosas son peligrosas, ¿podrías explicarme? Si, > En un página (home.php) tengo un enlace que envía una variable por GET > (ejemplo: sec=donde). En esta misma página recojo la variable y hago un > include a la página que le corresponde, por ejemplo donde.php > Que una variable GET pueda ser el parametro de un nombre de archivo no es muy recomendable > > La variable de session la probé también, pero claro, al estar incluído el > documento que graba la información, cualquier cosa que iniciale, se > reinicialará con F5, por lo tanto no puedo hacer comparaciones. Dejame pensar.... <? if( !isset($_GET['pagina_random']) || ( isset($_SESSION['pagina_random']) && $_SESSION['pagina_random'] == $_GET['pagina_random'] ) ) { /* Habeis apretao F5 !!!! */ } else { $_SESSION['pagina_random'] = GenerarAleatorio(); } ?> Y en todos los enlaces, añade el GET de pagina_random=<?=$_SESSION['pagina_random']?> Saludos -- Shake (Alex Estevez) No preguntes demasiado, que podrian contestarte. |
| |||
| BIGOTE tuvo el valor de escribir: > No entiendo que cosas son peligrosas, ¿podrías explicarme? Si, > En un página (home.php) tengo un enlace que envía una variable por GET > (ejemplo: sec=donde). En esta misma página recojo la variable y hago un > include a la página que le corresponde, por ejemplo donde.php > Que una variable GET pueda ser el parametro de un nombre de archivo no es muy recomendable > > La variable de session la probé también, pero claro, al estar incluído el > documento que graba la información, cualquier cosa que iniciale, se > reinicialará con F5, por lo tanto no puedo hacer comparaciones. Dejame pensar.... <? if( !isset($_GET['pagina_random']) || ( isset($_SESSION['pagina_random']) && $_SESSION['pagina_random'] == $_GET['pagina_random'] ) ) { /* Habeis apretao F5 !!!! */ } else { $_SESSION['pagina_random'] = GenerarAleatorio(); } ?> Y en todos los enlaces, añade el GET de pagina_random=<?=$_SESSION['pagina_random']?> Saludos -- Shake (Alex Estevez) No preguntes demasiado, que podrian contestarte. |
| |||
| No entiendo que cosas son peligrosas, ¿podrías explicarme? La variable de session la probé también, pero claro, al estar incluído el documento que graba la información, cualquier cosa que iniciale, se reinicialará con F5, por lo tanto no puedo hacer comparaciones. Voy a tener que guardar un valor en una tabla o un archivo (la IP, por ejemplo), para usarlo como indicador de grabación. Gracias. "Shake" <alex.estevezNOSPAM***filnet.es> escribió en el mensaje news:mn.64767d82273a71b3.85542***filnet.es... > Dejando a un lado el hecho de que haces cosas que me parecen peligrosas. > > Tu lo que quieres es : > > > Al hacer click en un sitio, se carga pagina.php > el hacer F5 se vuelve a cargar pagina.php y no te gusta, quieres saber si > se ha apretado F5 para actuar de modo distinto. > > Que tal si en cada ejecucion de pagina, generas un numero aleatorio y lo > guardas como session. Al hacer F5 deberia repetirse. > > A grandes rasgos, no he desarrollado el como, sino que suelto la idea que > creo que se puede hacer. > > -- > Shake (Alex Estevez) > Today is the tomorrow you worried about yesterday, > And now you know why. > > |
| |||
| No entiendo que cosas son peligrosas, ¿podrías explicarme? La variable de session la probé también, pero claro, al estar incluído el documento que graba la información, cualquier cosa que iniciale, se reinicialará con F5, por lo tanto no puedo hacer comparaciones. Voy a tener que guardar un valor en una tabla o un archivo (la IP, por ejemplo), para usarlo como indicador de grabación. Gracias. "Shake" <alex.estevezNOSPAM***filnet.es> escribió en el mensaje news:mn.64767d82273a71b3.85542***filnet.es... > Dejando a un lado el hecho de que haces cosas que me parecen peligrosas. > > Tu lo que quieres es : > > > Al hacer click en un sitio, se carga pagina.php > el hacer F5 se vuelve a cargar pagina.php y no te gusta, quieres saber si > se ha apretado F5 para actuar de modo distinto. > > Que tal si en cada ejecucion de pagina, generas un numero aleatorio y lo > guardas como session. Al hacer F5 deberia repetirse. > > A grandes rasgos, no he desarrollado el como, sino que suelto la idea que > creo que se puede hacer. > > -- > Shake (Alex Estevez) > Today is the tomorrow you worried about yesterday, > And now you know why. > > |
| |||
| En realidad, lo que pongo en el GET, puede ser un número o un nombre, la cuestión es la interpretación que le doy luego al código, porque en ningún momento queda expuesto el nombre de archivo al que llamo. Te copio un ejemplo (simplificado) que arme, para que sea más claro y desde ya te agradezco por la paciencia. prue_home.php ============================== <?php //AQUI VA LA CABECERA switch($_GET['sec']){ case 1: $archivo = "prue_graba.php"; break; case 2: $archivo = "otrapagina.php"; break; case 3: $archivo = "yotramas.php"; break; default: $archivo = "prue_seleccionar.php"; } //CONTENIDO include($archivo); //AQUI VA EL PIE DE PAGINA ?> prue_seleccionar.php =============================== <p>Escoja una opción:</p> <p><a href="prue_home.php?sec=1&op=1">Opcion 1</a> | <a href="prue_home.php?sec=1&op=2">Opcion 2</a> | <a href="prue_home.php?sec=1&op=3">Opcion 3</a> </p> prue_graba.php =============================== <?php /* aqui hago una consulta a la base de datos y tomo la cantidad de elecciones para cada opcion. Si nunca fue elegida la agrego con el valor 1 y ya existe le sumo 1 y actualizo la tabla. Muestro un gráfico con los resultados. El problema es que estando aquí, si dan F5, todo esto se vuelve a repetir y se suma 1 voto más a la opcion elegida. */ echo "GRABANDO datos para la opción ".$_GET['op']." cada vez que pulsa F5"; ?> "Shake" <alex.estevezNOSPAM***filnet.es> escribió en el mensaje news:mn.65307d82fe73e2de.85600***filnet.es... > BIGOTE tuvo el valor de escribir: >> No entiendo que cosas son peligrosas, ¿podrías explicarme? > > Si, > >> En un página (home.php) tengo un enlace que envía una variable por GET >> (ejemplo: sec=donde). En esta misma página recojo la variable y hago un >> include a la página que le corresponde, por ejemplo donde.php >> > > Que una variable GET pueda ser el parametro de un nombre de archivo no es > muy recomendable > >> >> La variable de session la probé también, pero claro, al estar incluído el >> documento que graba la información, cualquier cosa que iniciale, se >> reinicialará con F5, por lo tanto no puedo hacer comparaciones. > > Dejame pensar.... > > <? > if( > !isset($_GET['pagina_random']) || > ( > isset($_SESSION['pagina_random']) && > $_SESSION['pagina_random'] == $_GET['pagina_random'] > ) > ) > { /* Habeis apretao F5 !!!! */ } > else > { > $_SESSION['pagina_random'] = GenerarAleatorio(); > } > ?> > > Y en todos los enlaces, añade el GET de > pagina_random=<?=$_SESSION['pagina_random']?> > > > Saludos > > -- > Shake (Alex Estevez) > No preguntes demasiado, que podrian contestarte. > > |
| |||
| En realidad, lo que pongo en el GET, puede ser un número o un nombre, la cuestión es la interpretación que le doy luego al código, porque en ningún momento queda expuesto el nombre de archivo al que llamo. Te copio un ejemplo (simplificado) que arme, para que sea más claro y desde ya te agradezco por la paciencia. prue_home.php ============================== <?php //AQUI VA LA CABECERA switch($_GET['sec']){ case 1: $archivo = "prue_graba.php"; break; case 2: $archivo = "otrapagina.php"; break; case 3: $archivo = "yotramas.php"; break; default: $archivo = "prue_seleccionar.php"; } //CONTENIDO include($archivo); //AQUI VA EL PIE DE PAGINA ?> prue_seleccionar.php =============================== <p>Escoja una opción:</p> <p><a href="prue_home.php?sec=1&op=1">Opcion 1</a> | <a href="prue_home.php?sec=1&op=2">Opcion 2</a> | <a href="prue_home.php?sec=1&op=3">Opcion 3</a> </p> prue_graba.php =============================== <?php /* aqui hago una consulta a la base de datos y tomo la cantidad de elecciones para cada opcion. Si nunca fue elegida la agrego con el valor 1 y ya existe le sumo 1 y actualizo la tabla. Muestro un gráfico con los resultados. El problema es que estando aquí, si dan F5, todo esto se vuelve a repetir y se suma 1 voto más a la opcion elegida. */ echo "GRABANDO datos para la opción ".$_GET['op']." cada vez que pulsa F5"; ?> "Shake" <alex.estevezNOSPAM***filnet.es> escribió en el mensaje news:mn.65307d82fe73e2de.85600***filnet.es... > BIGOTE tuvo el valor de escribir: >> No entiendo que cosas son peligrosas, ¿podrías explicarme? > > Si, > >> En un página (home.php) tengo un enlace que envía una variable por GET >> (ejemplo: sec=donde). En esta misma página recojo la variable y hago un >> include a la página que le corresponde, por ejemplo donde.php >> > > Que una variable GET pueda ser el parametro de un nombre de archivo no es > muy recomendable > >> >> La variable de session la probé también, pero claro, al estar incluído el >> documento que graba la información, cualquier cosa que iniciale, se >> reinicialará con F5, por lo tanto no puedo hacer comparaciones. > > Dejame pensar.... > > <? > if( > !isset($_GET['pagina_random']) || > ( > isset($_SESSION['pagina_random']) && > $_SESSION['pagina_random'] == $_GET['pagina_random'] > ) > ) > { /* Habeis apretao F5 !!!! */ } > else > { > $_SESSION['pagina_random'] = GenerarAleatorio(); > } > ?> > > Y en todos los enlaces, añade el GET de > pagina_random=<?=$_SESSION['pagina_random']?> > > > Saludos > > -- > Shake (Alex Estevez) > No preguntes demasiado, que podrian contestarte. > > |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |