我已经定义了2个变量,包括联系人和衬衫.正如你所看到的那样,他们也在标题中.我仍然得到两个变量都未定义的消息.
我收到此错误消息:
(!)SCREAM:忽略(!)的错误抑制
注意:未定义的变量:第17行的C:\ wamp\www\Test\shirts4mike\inc\header.php中的部分
调用堆栈#TimeMemoryFunctionLocation 10.0003243592 {main}()..\index.php:0
20.0006246920 include('C:\ wamp\www\Test\shirts4mike\inc\header.php')..\index.php:3">
第18行也是如此.
shirts.php:
<?php
$pageTitle = "Mike's Full Catalog of Shirts";
$section = "shirts";
include('inc/header.php'); ?>
<div class="section page">
<h1>Mikes’s Full Catalog of Shirts</h1>
</div>
<?php include ('inc/footer.php'); ?>
Run Code Online (Sandbox Code Playgroud)
contact.php:
<?php
$pageTitle = "Contact Mike";
$section = "contact";
include('inc/header.php'); ?>
<div class="section page">
<h1>Contact</h1>
</div>
<?php include ('inc/footer.php'); ?>
Run Code Online (Sandbox Code Playgroud)
header.php:
<html>
<head>
<title> <?php echo $pageTitle ?></title>
<link rel="stylesheet" href="css/style.css" type="text/css">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Oswald:400,700" type="text/css">
<link rel="shortcut icon" href="favicon.ico">
</head>
<body>
<div class="header">
<div class="wrapper">
<h1 class="branding-title"><a href="./">Shirts 4 Mike</a></h1>
<ul class="nav">
<li class="shirts <?php if ($section == "shirts"){ echo "on"; } ?>"><a href="shirts.php">Shirts</a></li>
<li class="contact <?php if ($section == "contact"){ echo "on"; } ?>"><a href="contact.php">Contact</a></li>
<li class="cart"><a href="#">Shopping Cart</a></li>
</ul>
</div>
</div>
<div id="content">
Run Code Online (Sandbox Code Playgroud)
当您SCREAM在这样的PHP错误消息中看到时,它是由于以下情况:
@符号或其他错误抑制机制来抑制错误消息,xDebug正在覆盖它.xDebug是一个PHP扩展,旨在帮助调试PHP程序.它通常不应安装在生产系统上; 仅限于开发系统.
xDebug有一个名为"Scream"的设置,旨在防止错误被抑制.这又适用于开发系统.开发人员可能希望在正常情况下抑制错误,但在调试时查看这些错误很有用.所以scream设置会覆盖PHP隐藏错误消息的所有常规方法.这对于调试很有用,但在生产系统上却很糟糕.
xDebug永远不应安装在面向公众的生产服务器上,因此如果它描述了您的系统,则应将其删除,或要求将其删除.这可能就像修改PHP.ini文件以删除对xDebug的引用一样简单(虽然这只会禁用扩展而不是卸载它).
如果它已安装且您无法对其进行任何操作,那么您需要找到一个不在生产系统上安装开发工具的更好的Web主机.
说完所有这些,如果你收到消息$section is undefined,那么它确实意味着代码中需要修复的错误.
header.php当包含它时,错误发生在index.php.
你已经向我们展示了这两个,shirts.php并且contact.php两者都设置$section正确.你没有向我们展示index.php,但我猜它包含header.php的方式与其他方式相同,但$section不像其他人那样设置.
因此,您可以通过编辑来修复错误,index.php以便它$section以与其他页面相同的方式设置.即使它只是将其设置为空白字符串,这足以修复错误.
我希望有所帮助.