1

我已经走到了死胡同。我已经为此工作了 3 周,但没有任何结果。

我有 10 个 php 页面 ( 1.php, 2.php, ..., 10.php) 和一个起始页面 ( start.php)。

我要做的就是随机化这 10 个页面而不重复,所以当我单击“下一步”时,start.php它应该转到 10 个页面之一(例如,它转到4.php)。当我单击“下一步”时,4.php它应该重定向到 10 个页面中的另一个页面,但4.php.

它应该继续此操作,直到显示所有数字 ( 1.php- 10.php)。此时它应该再次随机化。当我在显示的最后一个数字中单击“下一步”时.php,它应该随机化数字并返回到随机列表中的第一个。

这是我到目前为止所拥有的:

start.php

<?php $vidcount = 1; ?>
<? include ("source.php"); ?>
<a href="$nextvid[$vidcount].php">next page</a>

source.php

<?php 
include ("start.php");

$numbers = range(1, $total_songs);

if(($vidcount == $total_songs)||($vidcount == 1)){
shuffle($numbers);
$vidcount = 1;
}

$nextvid[1] = $numbers[0];
$nextvid[2] = $numbers[1];
$nextvid[3] = $numbers[2];
$nextvid[4] = $numbers[3];
$nextvid[5] = $numbers[4];
$nextvid[6] = $numbers[5];
$nextvid[7] = $numbers[6];
$nextvid[8] = $numbers[7];
$nextvid[9] = $numbers[8];
$nextvid[10] = $numbers[9];
?>

1.php, 2.php, ... 10.php:

<?php
include("source.php");?>
<?php echo $vidcount; ?>

<a href="testrun[<?php echo $nextvid[$vidcount];  ?>].php">next page</a>
<?php $vidcount++;?>

1.php-10.php有相同的代码。我还有一个source.php应该跟踪显示的数字并在显示所有数字时重新洗牌。

请帮忙。我将非常感谢我能得到的任何帮助。

您不必使用上面的代码,只要我得到的代码有效,如果您有不同的想法,我不介意从头开始。

4

1 回答 1

3

那么首先为什么你有十个文件,而你可以只有一个文件并且?id=X在 URL 中?但别介意。

您最好的选择是使用会话变量。像这样的东西:

<?php
    session_start();
    if( !isset($_SESSION['sequence']) || !$_SESSION['sequence']) {
        $_SESSION['sequence'] = shuffle(range(1,10));
    }
    $next = array_shift($_SESSION['sequence']);
    // now use $next to create your "Next page" link.
?>
于 2012-04-07T23:10:15.663 回答