XAMPP服务器错误:在使用php的头之前结束脚本输出
我的php代码:XAMPP服务器错误:在使用php的头之前结束脚本输出,php,html,apache,xampp,Php,Html,Apache,Xampp,我的php代码: <?php function mail_man($person) { $html = ""; $url = "members.xml"; $xml = simplexml_load_file($url) or die ("Can't connect to URL"); foreach ($xml->listgroup as $group) { $user = $group->user;
<?php
function mail_man($person)
{
$html = "";
$url = "members.xml";
$xml = simplexml_load_file($url) or die ("Can't connect to URL");
foreach ($xml->listgroup as $group)
{
$user = $group->user;
if ($user == $person)
{
$mail_list = $group->list;
foreach ($mail_list as $mail)
{
$html .= "<li>
<a href='https://example.com/$mail'
target='_blank' title='Roster List For: $mail'>$mail</a>
<a href='mailto:$mail@example.com'
title='Email $mail'>Email</a>
</li>";
}
}
}
echo "<ul>$html</ul>";
}
mail_man("somebody");
echo "Content-Type: text/html\n\n";
?>
listgroup作为$group)
{
$user=$group->user;
如果($user==$person)
{
$mail_list=$group->list;
foreach($mail\u列表为$mail)
{
$html.=“
”;
}
}
}
echo“$html
”;
}
邮递员(“某人”);
echo“内容类型:text/html\n\n”;
?>
正在尝试使用基本示例网站上的按钮打开:
<h1>Mailman</h1>
<form action="./mail.php" method="post">
<input type="Submit" value="Run mailman search.">
</form>
邮递员
得到:
服务器错误
服务器遇到内部错误,无法完成您的请求
错误消息:
标题前的脚本输出结束:newphp.html
如果您认为这是服务器错误,请联系网站管理员。
误差500
本地服务器
Apache/2.4.26(Unix)OpenSSL/1.0.2l PHP/7.0.21 mod_perl/2.0.8-dev perl/v5.16.3
我在两个文件上都使用了chmod755。还有其他想法吗
编辑:
删除的回显内容行不起任何作用。
php错误日志的输出显示:“试图在第7行的/opt/lampp/htdocs/mail.php中获取非对象的属性。”但是,我可以很好地打开localhost/mail.php,它给出了我想要的输出。为什么在最后回显您的内容类型?又一次修复问题的失败尝试。我试过移除那条线,但没有修复。还有一件事。在函数中不应使用
echo
。使用return
,然后在函数外部使用echo
。不要回显内容类型-这是服务器端的标题,不在前端显示。此外,我建议将变量压缩,包括在字符串中,这对可读性不利。正如迪夫斯特所说,你应该返回你的结果,而不是附和它,谢谢你的小费。已更改,但仍会产生相同的错误。