0

我对 PHP 很陌生。

我建立了一个 .php 网站,我已经使用 MAMP 连接到本地测试服务器。出于某种原因,虽然我可以在我的浏览器(Chrome)中查看该网站,并且 PHP 可以正常工作(我构建了一个发送电子邮件的表单),但我链接的外部样式表中没有 CSS,也没有来自外部 javascript 的 javascript我链接的文件正在工作。

如果我键入任何内联 CSS 或脚本,一切正常。我以前在 .html 文件中多次使用过外部文件,它们都工作得很好。我在这里做错了什么?

我的 .php 文件:

<?php

$to = 'email@email.com';
$subject = 'subject';
$message = $_POST['message'];

$message = <<<EMAIL

$message

EMAIL;

$header = '$email';

if($_POST){

    mail($to, $subject, $message);

}

?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Php Test</title>
</head>
<link rel="stylesheet" type="text/css" href="PhpTest.css"/>


<body onload="alertFunction()">

<h1 id="header">Text text text.</h1>

<form action="?" method="post">

<ul>
    <li>
<label for="message">Message:</label>
<textarea id="message" name="message" cols="42" rows="9"></textarea>
</li>
<li>
<input type="submit"  value="Submit"</li>
</li>
</ul>

</form>

<footer>
<script type="text/javascript" src="PhpTest.js"></script>
</footer>
</body>
</html>

我的CSS:

#header{
    color:#3C9;
}

我的JavaScript:

function alertFunction()
{
alert("Alert.");
}

更新:我从头开始在 Dreamweaver 中创建了一个新的 .php。我没有添加任何实际的 PHP 代码;我只是在正文中放置了一个标题,链接到 head 标签内的外部 CSS(在 CSS 中,我只是将标题的颜色指定为蓝色)并尝试了。事实证明,当我使用设计/分屏查看网站时,Dreamweaver 会识别链接并应用 CSS,但是当我尝试在 Chrome 中预览它时,它会失败。我不知道这意味着什么,但如果有人有任何理论,他们将不胜感激。谢谢。

4

5 回答 5

4

我认为你的<link rel="stylesheet" .../>标签必须在里面<head>

该元素定义了一个链接。与 A 不同,它可能只出现在文档的 HEAD 部分,尽管它可能出现多次。虽然 LINK 没有内容,但它传达了用户代理可以通过多种方式呈现的关系信息(例如,带有链接下拉菜单的工具栏)。

http://www.w3.org/TR/html401/struct/links.html#edef-LINK

所以:

<head>
    <!-- Moved <link/> inside <head></head> -->
    <link rel="stylesheet" type="text/css" href="PhpTest.css"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Php Test</title>
</head>

编辑

嗯,我试过你的页面。在文件中的Phptest.css位置命名样式表文件。由于. _ 确保您对文件的命名与您在标签中键入的内容完全相同。PhpTest.css.php404 file not foundt<link/>

另外,如果您使用的是 Chrome。按F12并检查是否有任何错误。

于 2013-09-06T23:34:54.007 回答
1

它对我来说很好,但是我知道在将页面从服务器移动到服务器时区分大小写可能是一个问题......我会尝试重命名你的文件(以及 html 页面中的链接)以实现所有小写.. .

于 2013-09-06T23:39:30.107 回答
0

尝试将完整的 url 放在 css 和 javascript 的位置,例如:

href="http://www.domain.com/css_file.css"
于 2013-09-06T23:33:46.713 回答
0

有用。

但是,请确保您的 css 和 js 文件在同一个文件夹下。

还要确保文件名完全相同。因为它区分大小写。我第一次输入错误时也犯了错误。在我匹配外壳后,它起作用了。

于 2013-09-06T23:40:10.733 回答
0

我猜这是你的文件命名。检查链接和文件是否具有确切的名称,全部小写和大写。

我为自己命名所有文件只用小写字母,以避免这种情况..

于 2013-09-06T23:44:09.123 回答