我正在用一本书学习基本PHP。在这本书中,我做了这个例子:
<?php
session_start()
if(array_key_exists("taskName", $_GET)) {
$_SESSION["taskList"][] = $_GET["taskName"];
}
$taskList= [];
if(array_key_exists("taskList", $_SESSION)) {
$taskList = $_SESSION["taskList"];
}
include "template.php";书中使用了"functions.php“文件末尾的"include functions.php”,它似乎有效。但是,在我的示例中使用时,用于显示结果的template.php没有工作,下面是使用template.php代码的template.php部分:
<table>
<tr>
<th>Tasks</th>
</tr>
<?php foreach($taskList as $task) : ?>
<tr>
<td><?=$task?></td>
</tr>
<?php endforeach; ?>
</table>以下是显示的错误:
Notice: Undefined variable: taskList in C:\xampp\htdocs\to-do-list\template.php on line 27
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\to-do-list\template.php on line 27据我理解,template.php并没有从functions.php那里获得信息,而是从它得到的书中获得信息。
PHP文档
在上述文档中,有以下示例:
<?php
$a = 1;
include 'b.inc';
?>因此,b.inc将有$a变量。书中发生的一切都是一样的。
发布于 2017-06-08 01:39:42
当我尝试下面的代码时,它在我的计算机上工作得很好(它会产生一些输出)。
文件: first.php
<?php
$taskList = [];
$taskList[]=5;
$taskList[]=6;
include 'second.php';
?>文件: second.php
<table>
<tr>
<th>Tasks</th>
</tr>
<?php foreach($taskList as $task) : ?>
<tr>
<td><?=$task?></td>
</tr>
<?php endforeach; ?>
</table>发布于 2017-06-08 02:28:27
您的示例运行得很好,但是,由于我无法考虑从哪里开始问题,我建议
session_start()行,在行尾添加分号。下面是我尝试并调用带有和不带参数的functions.php的确切代码,并且运行良好
functions.php
<?php
session_start();
if(array_key_exists("taskName", $_GET)) {
$_SESSION["taskList"][] = $_GET["taskName"];
}
$taskList= [];
if(array_key_exists("taskList", $_SESSION)) {
$taskList = $_SESSION["taskList"];
}
include "template.php";template.php
<table>
<tr>
<th>Tasks</th>
</tr>
<?php foreach($taskList as $task) : ?>
<tr>
<td><?=$task?></td>
</tr>
<?php endforeach; ?>
</table>https://stackoverflow.com/questions/44425189
复制相似问题