我有一个索引页面,我希望它包含一个名为splash.php的页面,而不是display.php,当用户登陆index.php时,但是一旦用户做某事(设置变量),即用户搜索(变量“查询”)我希望它包含display.php而不包括splash.php
此代码有什么问题?
function hasGet()
{
return !empty($_GET['fact']);
return !empty($_POST['query']);
}
if (hasGet()) {
include("display.php");
}
else {
include("splash.php");
}
应删除此问题
答案 0 :(得分:5)
仅执行第一个return语句。尝试:
return !empty($_GET['fact']) && !empty($_POST['query']);
完成您要做的事情的更好方法是使用会话。
<?php
session_start();
if (!isset($_SESSION['visited'])) {
$_SESSION['visited'] = true;
include 'splash.php';
} else {
include 'display.php';
}
?>
这种方式在用户首次访问index.php
后,$_SESSION['visited']
设置为true,并且在访问期间不会显示启动页面。
答案 1 :(得分:2)
你正在做的事情不能有两个回报。尝试
return (!empty($_GET['fact']) && !empty($_GET['query']));
答案 2 :(得分:0)
你可能想试试这个......
if($_SERVER["SCRIPT_NAME"] == "/index.php"){
include("splash.php");
}else{
include("display.php");
}
2
if(!empty($_GET["fact"]) || !empty($_POST["query"])){
include("display.php");
}else{
include("splash.php");
}