Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.comp.lenguajes.* Foro > Newsgroup es.comp.lenguajes.php
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 12-02-2008, 17:02:29
Shake
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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.


Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 12-02-2008, 17:02:29
Shake
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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.


Responder Con Cita
  #3 (permalink)  
Antiguo 12-02-2008, 17:54:39
BIGOTE
 
Mensajes: n/a
Predeterminado Me embrollé

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.


Responder Con Cita
  #4 (permalink)  
Antiguo 12-02-2008, 20:08:58
Shake
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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.


Responder Con Cita
  #5 (permalink)  
Antiguo 12-02-2008, 20:08:58
Shake
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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.


Responder Con Cita
  #6 (permalink)  
Antiguo 12-02-2008, 20:55:51
BIGOTE
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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.
>
>



Responder Con Cita
  #7 (permalink)  
Antiguo 12-02-2008, 20:55:51
BIGOTE
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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.
>
>



Responder Con Cita
  #8 (permalink)  
Antiguo 13-02-2008, 14:37:07
BIGOTE
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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&oacute;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.
>
>



Responder Con Cita
  #9 (permalink)  
Antiguo 13-02-2008, 14:37:07
BIGOTE
 
Mensajes: n/a
Predeterminado Re: Me embrollé

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&oacute;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.
>
>



Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado






Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.