我似乎无法弄清楚这里的问题是什么。我托管在 GoDaddy 上,我编写了一个基本的 .htaccess 文件,因此该网站将受到密码保护,因为它是针对客户的。我找不到 php 代码本身有什么问题,但我是 php 新手,所以我可能遗漏了一些明显的东西。这是代码:
<?php
$date = date("m,d");
if($date == "10,06"){
echo("<img src="maps/img1.jpg" />");
}
elseif($date == "10,10" or "10,11" or "10,12" or "10,13"){
echo("<img src="maps/img2.jpg" />");
}
elseif($date == "10,18" or "10,19" or "10,20"){
echo("<img src="maps/img3.jpg" />");
}
elseif($date == "10,25" or "10,26" or "10,27"){
echo("<img src="maps/img4.jpg" />");
}
elseif($date == "11,01" or "11,02" or "11,03"){
echo("<img src="maps/img5.jpg" />");
}
elseif($date == "11,07"){
echo("<img src="img6.jpg" />");
}
elseif($date == "11,22" or "11,23" or "11,24"){
echo("<img src="maps/img7.jpg" />");
}
elseif($date == "12,01"){
echo("<img src="maps/img8.jpg" />");
}
elseif($date == "12,06" or "12,07" or "12,08"){
echo("<img src="maps/img9.jpg" />");
}
else{
echo("<img src="maps/img10.jpg" />");
}
?>
我在dreamweaver 中编码,代码显示为“死”,但我不知道它有什么问题。问题似乎出在这一行:
if($date == "10,06"){ echo("<img src="maps/img1.jpg" />");
}
但我看不出有什么问题。如果我把它放在 HTML 文件的正文中,我会看到图像周围有一堆乱七八糟的代码。如果我把它放在一个 .php 文件中,我会收到以下错误消息:
Parse error: syntax error, unexpected T_STRING in /home/content/##/blahblah/html/test.php on line 12
如果这是任何线索,我试过运行一个简单的
<?php echo "hello world"; ?>
它只是空白。所以我觉得这是一个权限错误,但我没有最微弱的方法来解决它。我尝试将此字符串添加到 .htaccess 文件中
AddType application/x-httpd-php .html
这只会导致内部服务器错误。
现在 .htaccess 文件中唯一的内容是:
AuthUserFile /home/content/##/blahblah/html/.htpasswd
AuthGroupFile /dev/null
AuthName "EnterPassword"
AuthType Basic
require valid-user
(当然我在根目录中也有 .htpasswd 文件)
所以我可能需要在 .htaccess 中添加更多内容,但我不知道是什么。
编辑:
我修复了 echo 和 else 语句错误(谢谢!!),我在 .html 和 .php 上都对其进行了测试。现在看来问题是服务器不想读取 html 文件中的 php,因为它似乎在 .php 测试中工作正常。正如我之前提到的,我尝试将AddType application/x-httpd-php .html
字符串添加到 .htaccess 文件中,但这只会弄乱整个网站。我将转到 test.html,它会在我输入该字符串后询问我是否要下载该页面。
EDIT2: 我似乎已经解决了嵌入 php 的问题。经过大量研究,我发现 GoDaddy 允许您像这样应用自定义扩展:
Options +ExecCGI
AddHandler x-httpd-php5-3 .mysite
通过它我会用'.html'替换'.mysite'
现在像梦一样工作。(虽然我还没有看到这是否会在未来引起其他问题)
感谢所有人纠正我的陈述——如果没有这个,绝对不会奏效!