0

我有两个 PHP 文件,它们都是联系表格。一个文件具有 HTML 4 文档类型,另一个具有 HTLM 5 文档类型。

当我打开第一个文件时,它会正确呈现,即完全加载具有全彩、图形等的网页,但是当我呈现第二个文件时,它只会在浏览器中以文本格式显示 HTML 代码。

第一个文件的内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Discover Brazil</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="layout.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="js/cufon-yui.js" type="text/javascript"></script>
<script src="js/cufon-replace.js" type="text/javascript"></script>
<script src="js/Myriad_Pro_400.font.js" type="text/javascript"></script>
<script src="js/Myriad_Pro_600.font.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('#comp').focus();
});
</script>
<style type="text/css">
</head>
<body id="page1">
<?php
if(isset($_POST['sent'])){
// Contact subject
$comp=  $_POST['comp'];
$ur_name = $_POST['ur_name'];
$position = $_POST['position']; 
$add = $_POST['add'];
$city = $_POST['city'];
$pin =$_POST['pin'];
$state = $_POST['state'];
$tel =$_POST['tel'];
$Cell =$_POST['cell'];
$fax = $_POST['fax'];
$email =$_POST['email'];
$website = $_POST['website'];
$pro = $_POST['pro'];
$busi= $_POST['busi'];
$target = $_POST['target'];

// Details
$message="Name of the Company :- " . trim($_POST['comp']) .
   "\n\nName :- ". trim($_POST['ur_name']) .
   "\n\nPosition :- ". trim($_POST['position']) .
   "\n\nAddress :- ". stripslashes(trim($_POST['add'])) .
   "\n\nCity :- ". trim($_POST['city']) .
   "\n\nPin Code :- ". trim($_POST['pin']) .
   "\n\nState :- ". trim($_POST['state']) .
   "\n\nTelephone No :- ". trim($_POST['tel']) .
   "\n\nCell No :- ". trim($_POST['cell']) .
   "\n\nFax No :- ". trim($_POST['fax']) .
   "\n\nEmail ID :- ". trim($_POST['email']) .
   "\n\nWebsite :- ". trim($_POST['website']) .
   "\n\nCompany Profile :- ". trim($_POST['pro']) .
   "\n\nBusiness With Brazil for Last 3 years :- ". trim($_POST['busi']) .
   "\n\nTarget for Brazil for 2014 :- ". trim($_POST['target']);

$to = "email@domain.com";
$subject = "This is subject";
$header = "From:$email \r\n";
$sendmail = mail ($to,$subject,$message,$header);
}
?>
<!-- header -->

第二个文件的内容

<!DOCTYPE html>
<html lang="en">
<head>
<title>Sl</title>
<meta name="description" content="Place your description here">
<meta name="keywords" content="put, your, keyword, here">
<meta name="author" content="Templates.com - website templates provider">
<meta charset="utf-8">
<link rel="stylesheet" href="css/reset.css" type="text/css" media="all">
<link rel="stylesheet" href="css/layout.css" type="text/css" media="all">
<link rel="stylesheet" href="css/style.css" type="text/css" media="all">
<script type="text/javascript" src="js/maxheight.js"></script>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/cufon-replace.js"></script>
<script type="text/javascript" src="js/Myriad_Pro_300.font.js"></script>
<script type="text/javascript" src="js/Myriad_Pro_400.font.js"></script>
<script type="text/javascript" src="js/jquery.faded.js"></script>
<script type="text/javascript" src="js/jquery.jqtransform.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript">
$(function(){
$("#faded").faded({
speed: 200,
crossfade: true,
autoplay: 3000,
autopagination:false
});
$('#domain-form').jqTransform({imgPath:'jqtransformplugin/img/'});
});
</script>
<!--[if lt IE 7]>
<script type="text/javascript" src="http://info.template-    help.com/files/ie6_warning/ie6_script_other.js"></script>
<![endif]-->
<!--[if lt IE 9]>
<script type="text/javascript" src="js/html5.js"></script>
<![endif]-->
<style type="text/css">
<!--
.style1 {font-size: 16px}
-->
</style>
</head>
<body id="page1" onLoad="new ElementMaxHeight();">
<?php 
if(isset($_POST['sent'])){
 // Contact subject
$author=  $_POST['author'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$details = stripslashes($_POST['details']);

// Details
$message="Name :- " . trim($_POST['name']) .
   "\n\nEmail :- ". trim($_POST['email']) .
   "\n\nSubject :- ". trim($_POST['subject']) .
   "\n\nMessage :- ". stripslashes(trim($_POST['details']));

$to = "email@domain.com";
$subject = "This is subject";
$header = "From:$email \r\n";
$sendmail = mail ($to,$subject,$message,$header);
}
?>
<div class="tail-top">
4

2 回答 2

0

确保第二个文件的扩展名是可识别的文档扩展名。因此,如果它,secondFile.txtsecondFile.php.bk,将其重命名为secondFile.php

编辑:只是一个小小的猜测,但您是否尝试过关闭 body 和 html 标签:

</body>
</html>

在底部?

于 2013-05-13T10:31:42.613 回答
0

您的问题定义不是很清楚,您的问题/描述也可以描述几个不同的问题。所以很可能会命名您已经知道的潜在原因,但为了完整起见:

首先,要将 HTML 文件视为呈现的 HTML 页面,您需要在浏览器中打开它。这适用于本地(从您自己的磁盘/计算机)和网站(通过http连接)

其次,要让 PHP 代码真正运行,您需要在将其发送给您之前让一些计算机执行它。这通常发生在接受您的 http 连接的计算机上,如果它识别并可以执行您的*.PHP文件。

还有一些事情也可能使事情复杂化,例如content-typePHP 在返回网页之前可以更改的标头中的内容。

更新:感谢附上来源。浏览器有时显示文本而不是 html 的原因与内容类型有关。大多数情况下,这可以通过文件扩展名、doctype 或其他 html 属性得出。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 将其添加到您的第二个文件可能会有所帮助,或者正确修复文件可能会更好,以便浏览器可以正确猜测它的 html 开头。(从根源上解决问题)

于 2013-05-13T10:37:06.290 回答