我有20个不同的页面,每当有人访问我的主页时我想要一个随机页面显示
我的代码:
<?php
switch($_GET['page'])
{
case "1":
$page = include('pages/1.php');
break;
更多案例等现在是随机部分(如果没有调用特定页面)
default:
$page = include('pages/ rand(1, 20) .php');
break;
}?>
我尝试使用rand(1,20),但它不会那样工作。 谢谢你的帮助!
答案 0 :(得分:4)
您必须使用string concatenation和接受答案;)
include('pages/' . rand(1, 20) . '.php');
顺便说一下。我认为include
没有任何返回值,所以不需要使用赋值。
更好的是:
$pages = range(1,20);
$page = rand(1, 20);
if(array_key_exists('page', $_GET) && in_array($_GET['page'], $pages)) {
// or $_GET['page'] >= 1 && $_GET['page'] <= 20 instead of in_array(...)
$page = $_GET['page'];
}
include('pages/' . $page . '.php');
答案 1 :(得分:0)
您可能只需要从字符串内部移动它,以便对其进行评估:
$page = include('pages/' . rand(1, 20) . '.php');
答案 2 :(得分:0)
你的字符串全部关闭,函数不会评估它是否在字符串中。尝试修改代码,使其类似于:
$page = include('pages/'.rand(1, 20).'.php');
答案 3 :(得分:0)
尝试$page = include('pages/' . rand(1,20) . '.php');
答案 4 :(得分:0)
避免长时间切换的更好方法:
if (isset($_GET['page']))
$page = 'pages/'.(int)$_GET['page'].'.php'; // Always sanitise user input!!!
else
$page = 'pages/'.rand(1,20).'.php';
include $page;