所以,我在php文件中有这个表单,我希望它在这个滑动div中显示,但它不会显示任何包含我的include文件的php文件。有什么建议吗?
我想我试图错误地包含php文件
这是doc:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="js/jquery-1.7.1.js" type="text/javascript"></script>
<style type="text/css">
#wrap {
}
#box1 {
background: red;
width: 800px;
height: 100px;
}
#box2 {
background: blue;
width: 800px;
height: 200px;
display: none;
}
#box3 {
background: green;
width: 800px;
height: 100px;
}
.expand {
}
</style>
<script type="text/javascript">
$(function() {
$("#wrap a.expand").click(function() {
$('#box2').slideToggle('900');
});
});
</script>
</head>
<body>
<div id="wrap">
<p>
<a href="#" class="expand">Expanding/Collapse</a>
</p>
<p>
<a href="www.google.com">Google</a>
</p>
<div id="box1" alt="box"></div>
<div id="box2" alt="box">
<?php include("test.php"); ?>
</div>
<div id="box3" alt="box"></div>
</div>
</body>
</html>
这是php文件
<?php
if ($_POST["email"]<>'') {
$ToEmail = 'email@email.site';
$EmailSubject = 'Portfolio Contact .com';
$mailheader = "From: ".$_POST["email"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Name: ".$_POST["name"]."";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."";
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
?>
Your message was sent
<?php
} else {
?>
<form action="test.php" method="post">
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"></textarea></td>
</tr>
<tr>
<td class="bodytext"> </td>
<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
</tr>
</table>
</form>
<?php
};
?>
答案 0 :(得分:1)
为了轻松消除找不到test.php文件的可能性,请替换require()的include()。它完全相同,略有不同,没有找到文件导致PHP抛出致命的E_COMPILE错误,从而明显出现问题。
为了帮助修复错误,请将以下两行添加到PHP脚本的最顶层(主文件):
ini_set('display_errors', 1);
error_reporting(E_ALL);
这将使它在页面上显示所有错误和通知,立即显示哪个文件在哪一行出错。确保您只在开发中使用它,但您不希望用户看到有关您的后端代码的详细错误消息。
答案 1 :(得分:1)
删除包含文件并使用此jQuery Load,因此您的表单将在div id box2中加载
<script type="text/javascript">
$(function() {
$("#wrap a.expand").click(function() {
$('#box2').slideToggle('900').load("test.php");
});
});
</script>
并将此更改为@$_POST["email"]<>''
,带有at符号,您的错误将隐藏
答案 2 :(得分:0)
尝试查看页面源,看看它是否包含在那里。你的php文件包含在#box2中,它在css中的显示设置为none,所以即使它被包含在内也不会呈现。