- 締切済み
このPHPコードのエラー原因を教えてください。
いつもお世話になっています。 現在PHPの勉強をしているのですが、プログラムがエラーとなり、原因が分からず困っています。 原因の分かる方がいらっしゃれば、教えて頂きたいと思います。 状況は以下の様になっています。 ・PHPのversionは5.2.0、XAMPPはv3.2.1を使用しています。 ・Aptanaでは一番最後のcreate_radio($c, $d)関数で構文エラーが発生しているので、問題はこの辺りにあるのではと考えてはいます。 ・return <<< __end__ ~ __end__;の記述方法がPHPの設定上できないのかもしれません。 (echo <<< ~も使用できませんでした。) ・以下コードです <?php show_header(); show_form(); show_footer(); function show_header(){ $color = "white"; if(isset($_GET["Name_Of_Color"])){ $color = $_GET["Name_Of_Color"]; $color_html = htmlspecialchars($color); echo "<html><body bgcolor='color_html'>"; }else{ echo "<html><body bgcolor='white'>"; } } function show_footer(){ echo "</body></html>"; } function show_form(){ $colors = array("赤色" => "red", "青色" => "blue", "白色" => "white"); echo "<form>"; foreach($colors as $a => $b){ echo create_radio($a, $b); } echo "<input type='submit' value='変更'>"; echo "</form>"; } function create_radio($c, $d){ return <<< __end__ <input type="radio" id="$c" name="Name_Of_Color" value="$d"> <label for="$c">$c</label> __end__; } ?> それでは、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
エラーメッセージを表示せずにデバッグすることはものすごく効率が悪いので、開発環境では全てのエラーメッセージを表示させましょう。 php.ini で display_errors = On error_reporting = E_ALL | E_STRICT としてください。
- ts3m-ickw
- ベストアンサー率43% (1248/2897)
環境が違うのでPHP5.1.6単体で動かしてみました。 特にエラーにならず期待通りの動作をしています。 2行だけですし、<<< をやめて echo に書き換えてみたらいいのではないでしょうか。