Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包括文件中断php脚本_Php_Html - Fatal编程技术网

包括文件中断php脚本

包括文件中断php脚本,php,html,Php,Html,每当我在PHP脚本中包含某个文件时,它就会破坏代码,只加载样式表。我不确定是什么导致了这个问题。它是由依赖性引起的吗?我不确定PHP是否继承了值等 search.php调用tablegen.php中的函数 include 'tablegen.php'; php创建并返回一个变量 现在,我想把这个变量传递到email.php中的一个函数中。 但是,当我这样做时: include 'email.php'; 这会破坏“tablegen.php”中的php脚本,并且只会加载一个带有背景的空白页面 感

每当我在PHP脚本中包含某个文件时,它就会破坏代码,只加载样式表。我不确定是什么导致了这个问题。它是由依赖性引起的吗?我不确定PHP是否继承了值等

search.php调用tablegen.php中的函数

include 'tablegen.php';
php创建并返回一个变量

现在,我想把这个变量传递到email.php中的一个函数中。 但是,当我这样做时:

include 'email.php';
这会破坏“tablegen.php”中的php脚本,并且只会加载一个带有背景的空白页面

感谢您对这个问题的任何见解

完整的search.php文件

       <html>
<head>
<style type="text/css">
table {
background-color: #C0C0C0;
}

th{
width: 150px;
text-align:center;
border-style: solid;
border-width: 2px;
border-color: black;
background-color: #008080;
font-family: Helvetica;
}
td {
border-style: solid;
border-width: 2px;
border-color: black;
font-family: Helvetica;
background-color: #FFFF00;
text-align:center;
}
body {
background-color:#1C2932;
}

h1 {
font-family: Helvetica;
font-size: 24px;
color: #989898;
}

p {
font-family: Helvetica;
font-size: 18px;
color: #989898;
}

</style>
</head>
<body>

<?php
include 'tablegen.php';
include 'email.php';
if (empty($_POST['term'])) {
header("location:landing.php");
}
if(isset ($_POST['term'])) {
$x = $_POST['term'];
     connect();
     $result=tableGen($x);

}//end main if



echo "<form action='search.php' method = 'post'>";
echo "<p><b>Do you want this in an email?</b></p>";
echo "<input type='text' name='send'>";
echo "<input type='submit' name='submit' value='Send!' />";
echo "</form>";
if(isset($_POST['send'])) {
sendEmail($result);
}

?>
<br></br>
<form method="LINK" action="landing.php">
<input type="submit" value="Go Back!">
</form>

</body>
</html>

桌子{
背景色:#C0;
}
th{
宽度:150px;
文本对齐:居中;
边框样式:实心;
边框宽度:2倍;
边框颜色:黑色;
背景色:#008080;
字体系列:Helvetica;
}
运输署{
边框样式:实心;
边框宽度:2倍;
边框颜色:黑色;
字体系列:Helvetica;
背景色:#FFFF00;
文本对齐:居中;
}
身体{
背景色:#1C2932;
}
h1{
字体系列:Helvetica;
字体大小:24px;
颜色:#9898;
}
p{
字体系列:Helvetica;
字号:18px;
颜色:#9898;
}

它是由邪恶的精灵引起的,它们也被称为异常、警告和致命错误。它们是看不见的(所以你看不见,是的,看不见!!!),你需要使用一些神奇的环境才能看到这些仙境,所以:

error_reporting(-1); // display all faires
ini_set('display_errors', 1);  // ensure that faires will be seen
ini_set('display_startup_errors', 1); // display faires that didn't born

这个答案与回复“我不是在拖延”的评论相关,而不是与问题中的代码相关(当您对代码有疑问时,您应该发布包含问题的版本)

$output
tableGen()
函数中的局部变量。您不能在函数之外访问它(除非您使用
全局
声明它,但在这种情况下没有理由这样做)。该函数以以下内容结束:

return $output
这意味着您可以将函数调用的结果分配给
search.php
中的变量,例如

$result = tableGen($x);
sendEmail($output);

所有这些都与使用
include
无关,如果所有函数都在主
search.php
文件中,则会出现同样的问题。变量范围基于类和函数,而不是文件。

我们可以看到每个脚本吗?包含文件基本上就是将该文件的内容直接插入原始脚本中。您是如何得出您的假设的?你们怎么知道包含email.php会破坏tablegen.php中的脚本呢?我使用了Google Chrome的调试功能,它给了我一个错误500。我现在就发布代码。@Barmar我正在尝试访问另一个文件中的函数,这不是正确的方法吗?谢谢!为了得到答案,我更新了上面的代码。而且,通过使用您的代码,我能够得到以下输出:注意:第17行的未定义索引:send in/var/www/email.php然而,这篇文章的代码似乎还不错?任何洞察都会有帮助。你需要把它放在
search.php
Hi!我这样做了,代码执行时没有错误。然而,当我在search.php中添加“sendmail($output)”时,我得到了以下错误:注意:未定义变量:第55行/var/www/search.php中的输出注意:未定义索引:第17行的send in/var/www/email.php非常感谢您的回答!我现在没有收到任何错误,但在将$result传递到sendEmail()时遇到问题。当我输入电子邮件并单击“发送电子邮件”按钮时,它只会进入一个空白的“email.php”页面。我没有看到显示错误,Chrome中也没有任何错误。它应该有一个“Email Sent”的回音。在
之后没有
标记。添加了它们,仍然是同一个问题。电子邮件中有两个不同的内容类型标题,但我认为这不应该导致此问题。邮件正在发送吗?是,它将从SMTP服务器发送。
return $output
$result = tableGen($x);
sendEmail($output);