MAMPでフォームの内容を入力ページと同じページに表示したいです
初めてのPHPという書籍を使いMAMPをMacにインストールして学んでいるのんですが、フォームの内容の章の、フォームをサブミットした時に内容を同一ページに表示するコードをChromeで表示しようとした際にエラーが発生してしまいます
発生している問題・エラーメッセージ
このページは動作していませんlocalhost では現在このリクエストを処理できません。 HTTP ERROR 500
該当のソースコード
PHP
1<?php 2if ('POST' == $_SERVER['REQUEST_METHOD']) { 3 print 'hello'.$_POST['my_name']; 4}else { 5 print<<<HTML 6<form action="$_SERVER['PHP_SELF']" method="post"> 7 <input type="text" name="my_name"> 8 <br> 9 <input type="submit" value="go"> 10</form> 11HTML; 12} 13 ?>
試したこと
何に問題があるかと思い一つ一つprintしてみたのですが下記のものは通常通りに表示されました。ifのPOSTをGETにしても正しく動作しました。しかしacitonを$_SERVER['PHP_SELF']にするとChromeで上記と同様のエラーが発生しました。
PHP
1<?php 2if ('POST' == $_SERVER['REQUEST_METHOD']) { 3 print 'post'; 4}else { 5 print 'get<br>'; 6} 7print $_SERVER['PHP_SELF']; 8print<<<HTML 9<form class="" action="" method="post"> 10 <input type="text" name="my_name"> 11 <input type="submit" value="go"> 12</form> 13HTML; 14?>
このページは動作していませんlocalhost では現在このリクエストを処理できません。 HTTP ERROR 500
これは$_SERVER['PHP_SELF']に起因しているのでしょうか?$_SERVER['PHP_SELF']について調べてみましたが実行しているファイル名と出てきて行き詰まってしまいました、、、
正しく動作するようにはどこを改善したらよいのでしょうか?
補足情報(FW/ツールのバージョンなど)
MAMPはversion5.5
MAMPのPHP standard versionは7.3.8
Apacheでポートは80です。
Chromeは最新版です。
テキストエディタはAtomを使っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/01 03:52