-1

我正在研究股票代码和搜索股票代码的网站编号。我在这个网站上找到了一个代码。

但是我在显示屏幕时遇到错误 - 哪里出错了?

在此处输入图像描述

我在下面的代码中感到错误,但我不知道如何修复它。

        // ...format, and output them. I made the symbols into links to Yahoo's stock pages.
        echo "<span class=\"stockbox\"><a href=\"http://finance.yahoo.com/q?s=".$stock_info[0]."\">".$stock_info[0]."</a> ".sprintf("%.2f",$stock_info[1])." <span style=\"";
        // Green prices for up, red for down
        if ($stock_info[2]>=0) { echo "color: #009900;\">&uarr;";   }
        elseif ($stock_info[2]<0) { echo "color: #ff0000;\"> }
        echo sprintf("%.2f",abs($stock_info[2]))."</span></span>\n";
        // Done!
        fclose($local_file); 
    }
?>
4

4 回答 4

2

您必须通过支持 PHP 的 Web 服务器运行它。

于 2012-06-05T15:59:58.530 回答
1

您的错误存在于第 5 行:

elseif ($stock_info[2]<0) { echo "color: #ff0000;\"> }

应该

elseif ($stock_info[2]<0) { echo "color: #ff0000;\">"; }

或者

elseif ($stock_info[2]<0) { echo 'color: #ff0000;">'; }

作为一项规则,我总是尽我所能避免转义quotes,这迫使我知道报价何时关闭或打开。例如,我宁愿做

echo "My name is '$bernard'";   
//and if the " quotes are compulsory
echo 'My name is "'.$bernard.'"';    

echo "My name is \"bernard\"";

它更干净,更易于阅读。

更新

我没有注意到 URL,它是一个 *.htm 文件。为了使代码甚至可以运行,您需要通过可以处理 PHP 代码的服务器来运行它:)

于 2012-06-05T16:03:05.953 回答
0

您没有关闭此行的引号:

elseif ($stock_info[2]<0) { echo "color: #ff0000;\"> }
于 2012-06-05T15:59:53.650 回答
0

发现问题在它说的原始站点中查找

“如果 stockcache 目录有问题,脚本可能会为每个股票条目打印“0.00↑0.00”。相反,它看起来好像您的 HTTP 服务器正在吐出 PHP 代码而不是正确解析它。这可能是与页面上其他地方的服务器错误配置或冲突代码有关。不幸的是,如果不了解更多上下文,我无法更具体,例如相关网页的源代码、服务器操作系统、HTTPD 和 PHP 版本,及其配置。”

在托管帮助中查找,发现它必须允许 php(如果它在 html 中),必须创建一个 .htaccess 文件并添加托管公司给我的行,在与他们的支持问题进行简短交谈后解决了

于 2013-12-08T17:33:42.693 回答