我有一个.php文件,但我的外部 css 或 javascript 都无法正常工作


I have a .php file and none of my external css or javascript is working

我对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 中预览它时,它失败了。我不知道这意味着什么,但如果有人有任何理论,他们将不胜感激。谢谢。

我认为你的<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 .php文件中PhpTest.css的位置。由于t的不同情况,我得到了404 file not found错误。确保您对文件的命名与您在 <link/> 标记中键入的内容完全相同。

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

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

尝试输入 css 和 javascript 位置的完整 url,如下所示:

href="http://www.domain.com/css_file.css"

它有效。

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

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

我想这是你的文件命名。检查链接和文件的名称是否准确,全部为小写和大写。

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