请注意我是php的新手。
好吧我有一个剧本。
将变量页面发送到某些页面,但仅当变量与已存在的页面匹配时才
例如mysite.com/?varible123,如果存在varible123,则会将其发送到该页面,但如果它不存在,则会将其发送到默认页面。在我的情况下我的主页"主要"我不希望不存在的变量页面被发送到我的主页,而只是那些页面的默认值。
我想修改脚本,将所有不存在的变量发送到主页以外的默认页面。
和调用时显示的主页。
所以有人访问mysite.com他们看到了主页,但是如果有人访问mypage.com/?nonexisitenpage,他们会被发送到不是主页的默认页面。
?网站上的标记必须留在那里。
我的代码是
<?php
$page = $_SERVER['argv'][0];
if (!file_exists($page.".htm")){
//check to make sure the file exists
$page = "main";
//include this page by default
}
if (strstr($page, ".")){
//hack attempt
$page = "main";
}
require_once($page.".htm");
//hard code extension to prevent getting hacked
//http://mysite.com/?lol will include lol.htm
?>
任何帮助都会得到解决。
答案 0 :(得分:1)
你可以使用include。但是每个页面都必须有代码才能在另一个页面中正确呈现它,这将是最快的渲染。
<?php
$page = $_SERVER['QUERY_STRING'];
if (strstr($page, ".") !== false){ means . is there
//hack attempt
$page = "main";
}
//first check for hack
if (!file_exists($page.".htm")){
//check to make sure the file exists
$page = "main";
//include this page by default
}
include 'main.php'; //or main.html and return
return;
//hard code extension to prevent getting hacked
//http://mysite.com/?lol will include lol.htm
?>
在向全世界开放之前先尝试一下自己。也许你应该检查其他spl字符或只允许a-z,下划线和短划线作为名称。