-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 コードを吐き出しているように見えます。サーバーの設定ミスやページのどこかで競合するコードに関連しています. 残念ながら、問題のウェブページのソースコード、サーバーのOS、HTTPD、PHPのバージョンなど、より多くのコンテキストを知らなければ、これ以上具体的に言うことはできません.とその構成。」

ホスティングのヘルプを調べたところ、php を許可する必要があり (html 内にある場合)、.htaccess ファイルを作成し、ホスティング会社から提供された行を追加する必要がありました。解決しました

于 2013-12-08T17:33:42.693 に答える