PHP,包括由于if条件而不应包含的文件
嗨,我有个疯狂的问题 我尝试根据条件包含不同的文件。代码如下所示:PHP,包括由于if条件而不应包含的文件,php,if-statement,Php,If Statement,嗨,我有个疯狂的问题 我尝试根据条件包含不同的文件。代码如下所示: <?php session_start(); /* MO = Menu-Order TD = Top-Down-Menu SP = Side-Pull-Menu R = Radial-Menu | Reihenfolge || Aufgabennummer | ---+--------------++--------------------+- MO | TD | SP | R || T
<?php session_start();
/*
MO = Menu-Order
TD = Top-Down-Menu
SP = Side-Pull-Menu
R = Radial-Menu
| Reihenfolge || Aufgabennummer |
---+--------------++--------------------+-
MO | TD | SP | R || T TD | T SP | T R |
---+----+----+----++------+------+------+-
1 | 1 | 2 | 3 || 1 | 2 | 3 |
2 | 1 | 3 | 2 || 2 | 3 | 1 |
3 | 2 | 1 | 3 || 3 | 1 | 2 |
4 | 2 | 3 | 1 || 1 | 3 | 2 |
5 | 3 | 1 | 2 || 2 | 1 | 3 |
6 | 3 | 2 | 1 || 3 | 2 | 1 |
Aufgabennummer:
Task1: Top-News -> Wirtschaft -> Reise -> Wissen -> Wirtschaft
Task2: Top-News -> Wissen -> Sport -> Netzwelt -> Wissen
Task3: Top-News -> Kultur -> Top-News -> Reise -> Kultur
*/
//echo '<pre>'; print_r($_SESSION); echo '</pre>';
$task_1 = array(
0 => array(
'category' => 'Wirtschaft',
'article' => 'Faule Kredite steigen auf Rekordniveau',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
1 => array(
'category' => 'Reise',
'article' => 'Die Haxen des Bösen',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
2 => array(
'category' => 'Wissen',
'article' => 'Kulante Eltern haben kulante Kinder',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
3 => array(
'category' => 'Wirtschaft',
'article' => 'Schweiz stoppt Skilift-Lieferung an Kim Jong Un',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
)
);
$task_2 = array(
0 => array(
'category' => 'Wissen',
'article' => 'Delfinsterben bleibt Rätselhaft',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
1 => array(
'category' => 'Sport',
'article' => 'Almaty bewirbt sich um Winterspiele 2022',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
2 => array(
'category' => 'Netzwelt',
'article' => 'Samsung kürt geklautes Bild zum Siegerfoto',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
3 => array(
'category' => 'Wissen',
'article' => 'Kulante Eltern haben kulante Kinder',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
)
);
$task_3 = array(
0 => array(
'category' => 'Kultur',
'article' => 'Spanische Rentnerin soll an Einnahmen beteiligt werden',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
1 => array(
'category' => 'Top-News',
'article' => 'Unfallserie blockiert Rhein in Köln',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
2 => array(
'category' => 'Reise',
'article' => 'Verkehrschaos in der Lagune',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
),
3 => array(
'category' => 'Kultur',
'article' => 'Schlaflos mit Schlingel',
'done' => 0,
'clicks' => 0,
'start_time' => 0,
'end_time' => 0
)
);
$sp = 'index-sidepull.php';
$r = 'index-radial.php';
$td = 'index-topdown.php';
$menu_order = 1;
// Fortschritts Variablen setzen wenn nicht gesetzt
if(!isset($_SESSION['progress']) or !isset($_SESSION['initial'])){
$_SESSION['progress'] = 0;
$_SESSION['initial'] = 1;
}
// Fortschritt initialisieren wenn nicht vorhanden
if($_SESSION['progress'] == 0){
$_SESSION['menu'][1]['done'] = 0;
$_SESSION['menu'][2]['done'] = 0;
$_SESSION['menu'][3]['done'] = 0;
/*
*
* Menüreihenfolgen bestimmen
*
*/
if($menu_order == 1){
$_SESSION['menu'][1]['file'] = $td;
$_SESSION['menu'][2]['file'] = $sp;
$_SESSION['menu'][3]['file'] = $r;
$_SESSION['menu'][1]['task'] = $task_1;
$_SESSION['menu'][2]['task'] = $task_2;
$_SESSION['menu'][3]['task'] = $task_3;
}elseif($menu_order == 2){
$_SESSION['menu'][1]['file'] = $td;
$_SESSION['menu'][2]['file'] = $r;
$_SESSION['menu'][3]['file'] = $sp;
$_SESSION['menu'][1]['task'] = $task_2;
$_SESSION['menu'][2]['task'] = $task_3;
$_SESSION['menu'][3]['task'] = $task_1;
}
}
// Anhand des aktuellen Fortschritts Menü und Aufgabe herausfinden
$menu_id = intval($_SESSION['progress']/3) + 1;
$task_id = $_SESSION['progress'] % 4;
$cat_wanted = strtolower($_SESSION['menu'][$menu_id]['task'][$task_id]['category']);
$cat_current = str_replace('-', '', $_GET['topic']);
// Wenn aufgabenstellung gelesen und auf start geklickt wurde
if($_SESSION['initial'] == 1){
//exit();
require_once('ask_q.php');
exit("INITIAL");
}
elseif(isset($_POST['start_time'])){
$_SESSION['menu'][$menu_id]['task'][$task_id]['start_time'] = time();
$_SESSION['menu'][$menu_id]['task'][$task_id]['clicks'] = 0;
//exit();
require_once($_SESSION['menu'][$menu_id]['file']);
break;
exit('CASE 2');
// Wenn gesuchte Kategorie gefunden wurde
}elseif( $cat_wanted == $cat_current){
$_SESSION['menu'][$menu_id]['task'][$task_id]['end_time'] = time();
$_SESSION['menu'][$menu_id]['task'][$task_id]['clicks']++;
$_SESSION['menu'][$menu_id]['task'][$task_id]['done'] = 1;
$_SESSION['progress']++;
require_once('ask_q.php');
exit('CASE 3');
// Wenn gesuchte Kategorie noch nicht gefunden wurde Seite anzeigen
}elseif( $cat_current != $cat_wanted ){
echo 'Cat Wantet: ' . $cat_wanted . ' != ' . $cat_wanted . ' :Cat Current';
$_SESSION['menu'][$menu_id]['task'][$task_id]['clicks']++;
require_once($_SESSION['menu'][$menu_id]['file']);
exit('CASE 4');
}else{
exit('CASE 5');
}
?>
奇怪的是,在正确的位置,它包括ask_q.php文件(案例3)和案例4。我想知道,因为我在包含了require_once()之后退出了。更奇怪的是,案例4中的东西是看不见的。我只在firebug中认识到内容和一些包含的文件正在改变光学元件
另一件疯狂的事情是,在案例4中,我以字符串形式给出了条件,但它们与条件不匹配:(
如果我看普通的源代码,它只与不应该包含的文件匹配,而与包含的文件完全不匹配
我知道这听起来很愚蠢,但我从来没有遇到过这样的问题。我已经准备好检查includet文件,但这只取决于主文件,它根据条件包含所有其他文件
这是ask_q.php中的内容:
<!DOCTYPE html >
<html>
<head>
<title>World News</title>
<link href="css/bootstrap.no-icons.css" rel="stylesheet">
<link href="css/font-awesome.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel='stylesheet' href='http://fonts.googleapis.com/css?family=UnifrakturCook:700|Rye|UnifrakturMaguntia' type='text/css'>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="js/jquery.js" type="text/javascript"></script>
<!--<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>!-->
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<script src="js/topdown.js" type="text/javascript"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
</head>
<body>
<div data-role="page">
<nav id="topdown">
<div id="menu-items">
<?php require_once('nav-topdown.php');?>
</div>
</nav>
<header>
<?php require_once('header.php');?>
</header>
<div id="main-topdown">
<div style="height:43px"></div>
<?php require_once('content.php');?>
<?php //echo 'Cat Wantet = ' . $cat_wanted;?>
</div>
<?php echo '<pre style="clear:both;">'; print_r($_SESSION); echo '</pre>';?>
</div>
<div data-role="dialog" id="dialogPage">
<div data-role="header">
<h2>Aufgabe</h2>
</div>
<div data-role="content">
<p>Finde den Artikel <strong>"<?php echo $_SESSION['menu'][$i]['task'][$j]['article'];?>"</strong>
in der Kategorie <strong>"<?php echo $_SESSION['menu'][$i]['task'][$j]['category'];?>"</strong></p>
<a id="start" data-theme="b" data-rel="back" data-role="button" href="#" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-transition="pop" data-direction="reverse">
Los gehts!
</a>
</div>
</div>
<script>
function initResize(){
$('#topdown').hide();
}
$(document).ready(function(){
initResize();
var category = "<?php echo $_SESSION['menu'][$i]['task'][$j]['category']; ?>";
var article = "<?php echo $_SESSION['menu'][$i]['task'][$j]['article']; ?>";
//alert('Aufgabe', 'Finde den Artikel <strong>"' + article + '"</strong> in der Kategorie <strong>"' + category + '"</strong>');
$("#start").click(function(){
$.ajax({
type: "POST",
url: "ajax.php",
data: {task_start: new Date().getTime()},
success: function(){
$('.ui-dialog').dialog('close');
}
});
return false;
});
//console.log($('#main').css('height'));
$('#menu-link').click(function(){
if( $('#topdown').css('display') != 'block'){
$('#topdown').fadeIn();
}else{
$('#topdown').hide();
}
});
});
$(window).resize(function(){
//initResize();
});
</script>
</body>
</html>
奥法加贝
奥加贝
Finde den Artikel“
在卡蒂戈里街“
这是另一个文件的源代码:
世界新闻
奥法加贝
Finde den Artikel“
在卡蒂戈里街“
函数initResize(){
$(“#自上而下”).hide();
}
$(文档).ready(函数(){
initResize();
var类别=”;
var article=“”;
//警报('Aufgabe','Finde den Artikel“+”文章+”“+”类别+”);
$(“#开始”)。单击(函数(){
$.ajax({
类型:“POST”,
url:“ajax.php”,
数据:{task_start:new Date().getTime()},
成功:函数(){
$('.ui dialog').dialog('close');
}
});
返回false;
});
//console.log($('main').css('height');
$(“#菜单链接”)。单击(函数(){
if($('#top down').css('display')!='block'){
$(“#自上而下”).fadeIn();
}否则{
$(“#自上而下”).hide();
}
});
});
$(窗口)。调整大小(函数(){
//initResize();
});
事实上,我只认识到有问题,因为我看到了ask_q.php的内容,但是还有jquery mobile,它显然没有包含在ask_q.php中。如果我打开源代码,它只会显示另一个文件(不是ask_q.php)的源代码但是,当我在浏览器中观看时,它根本没有显示出这方面的内容。我不能发表评论,因为我的声誉不够高。 就我个人而言,我认为在这一切周围还有一些我们没有看到的东西导致了这个问题 显而易见的问题是:
- 需要$cat_和$cat_当前设置和更改的位置在哪里?-我们没有看到
- 您给出的代码周围的其余代码在哪里
- 您提供的代码本身是否包含
- 当不询问_q.php时,包含的文件的位置是什么?我们看不到它们的名称
- 如果其中一个文件正在运行,然后调用ask_q.php怎么办
- 您不需要最后一个elsif。只需将其设为ELSE即可。如果$cat_需要!=$cat_当前值,则无需计算它是否可用==
- 与其不断地引用$\u会话['menu'][$menu\u id]['task'][$task\u id],只需设置$\u s=&$\u会话['menu'][$menu\u id]['task'][$task\u id];并改用$\u
仍然不知道为什么这不起作用。在检查了所有答案后,没有任何帮助:(((对不起,我不知道你在问什么。请编辑你的问题,准确地说问题是什么,不应该包括什么文件,条件W中使用的变量值是什么,包括会话中没有任何明显迹象表明会话数据正在验证或清理的内容?这只是奇怪的自找麻烦!还有,为什么不直接使用类自动加载程序呢?我想在案例3中包含该文件。目前为止,它还可以工作,但它还包含案例4中的文件。当我转到源代码时,我只看到案例4中文件的源代码,而不是案例3中文件的源代码。但是浏览器也呈现了来自ask_q的文件。你能发布该文件吗ask_q.php?@dopamin90的e内容:您的回访可能表明您在查找术语方面存在问题,因此请允许我为您提供一个建议阅读:
<!DOCTYPE html >
<html>
<head>
<title>World News</title>
<link href="css/bootstrap.no-icons.css" rel="stylesheet">
<link href="css/font-awesome.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel='stylesheet' href='http://fonts.googleapis.com/css?family=UnifrakturCook:700|Rye|UnifrakturMaguntia' type='text/css'>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="js/jquery.js" type="text/javascript"></script>
<!--<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>!-->
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<script src="js/topdown.js" type="text/javascript"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
</head>
<body>
<div data-role="page">
<nav id="topdown">
<div id="menu-items">
<?php require_once('nav-topdown.php');?>
</div>
</nav>
<header>
<?php require_once('header.php');?>
</header>
<div id="main-topdown">
<div style="height:43px"></div>
<?php require_once('content.php');?>
<?php //echo 'Cat Wantet = ' . $cat_wanted;?>
</div>
<?php echo '<pre style="clear:both;">'; print_r($_SESSION); echo '</pre>';?>
</div>
<div data-role="dialog" id="dialogPage">
<div data-role="header">
<h2>Aufgabe</h2>
</div>
<div data-role="content">
<p>Finde den Artikel <strong>"<?php echo $_SESSION['menu'][$i]['task'][$j]['article'];?>"</strong>
in der Kategorie <strong>"<?php echo $_SESSION['menu'][$i]['task'][$j]['category'];?>"</strong></p>
<a id="start" data-theme="b" data-rel="back" data-role="button" href="#" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-transition="pop" data-direction="reverse">
Los gehts!
</a>
</div>
</div>
<script>
function initResize(){
$('#topdown').hide();
}
$(document).ready(function(){
initResize();
var category = "<?php echo $_SESSION['menu'][$i]['task'][$j]['category']; ?>";
var article = "<?php echo $_SESSION['menu'][$i]['task'][$j]['article']; ?>";
//alert('Aufgabe', 'Finde den Artikel <strong>"' + article + '"</strong> in der Kategorie <strong>"' + category + '"</strong>');
$("#start").click(function(){
$.ajax({
type: "POST",
url: "ajax.php",
data: {task_start: new Date().getTime()},
success: function(){
$('.ui-dialog').dialog('close');
}
});
return false;
});
//console.log($('#main').css('height'));
$('#menu-link').click(function(){
if( $('#topdown').css('display') != 'block'){
$('#topdown').fadeIn();
}else{
$('#topdown').hide();
}
});
});
$(window).resize(function(){
//initResize();
});
</script>
</body>
</html>