Pregunta

Mi sitio tiene una biblioteca completa de juegos, naciones, escenarios de juego, etc.

library.php se le da un type=___ y id=___

por ejemplo library.php?type=scenario&id=ABCD001

library.php guarda el id a una variable de sesión y cargas incluyen un apropiado para el type

Todo esto funciona igual de dandy. Ahora, quería dar a mis usuarios la opción de tirar de un escenario al azar. Para hacer eso, he añadido un id especial a la lógica dentro lib-scenario.php (el include) tal que si library.php?type=scenario&id=random dada la incluyen sabe para ejecutar una consulta alternativa para un registro aleatorio en lugar de para el id real

Esto también funciona dandy ... menos a alguien pulsa el botón Random Scenario dos + veces seguidas, y decide que el escenario al azar anterior era mucho más cool, quiero ir Atrás para eso.

Debido a que la dirección http es siempre directory/library.php?type=scenario&id=random no importa cuántas veces se hace clic Random Scenario, tan pronto como haga clic en la espalda se le llevará a la última página con una dirección alternativa que ha visitado.

Por lo tanto, si se inicia en la página Home, y golpear Random Scenario 35 veces, y luego decidir el número 34 era lo que quería y haga clic BACK, se le pone de nuevo en la página Home.

He de reconocer que esto no era un problema que había anticipado. Una de mis probadores fue el primero en tener el impulso de copia de seguridad en el flujo de escenario al azar y aquí estamos.

¿Cómo puedo añadir la funcionalidad de copia de seguridad de mi guión?

¿Fue útil?

Solución

Hacer el botón 'Escenario aleatoria' simplemente enlazar a un real (pero al azar) Identificación del escenario. Es probable que tenga para construir esto con una consulta SQL para obtener todos los identificadores de sus escenarios.

$result = mysql_query("SELECT id FROM scenarios");
while ($row = mysql_fetch_row($result)) {
    $ids[] = $row[0];
}
$randomid = array_rand($ids);

botón:

<a href="directory/library.php?type=scenario&id=<?php echo $randomid; ?>Random Scenario</a>

Si es tu identificación de escenarios son todos los números consecutivos simplemente puede utilizar esto en su lugar:

$randomid = rand($min, $max);

Otros consejos

puede resolver este redirigiendo a la URL canónica para el escenario, es decir .: id = redirecciones al azar a id = A92831 o lo que fue seleccionado. la URL final se almacena en la historia, en lugar de la de id = url azar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top