- ベストアンサー
PHP掲示板の作成方法
- PHPを使用して掲示板を作成する方法について説明します。
- 掲示板のフォームには投稿者名と内容を入力し、投稿ボタンをクリックします。
- テスト用の掲示板を作成する際には、サーバーの設定やファイルのアップロード場所を確認してください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Apacheを入れただけで、PHPを入れ忘れている…ということはないですか?見た感じ、PHPは動いていないと思います。ブラウザからソースを閲覧して、PHPコードがそのまま書かれていたら動いていない証拠です。PHPをインストールしてください。個別インストールに躓かれたならば、PHP関連のソフトウェアが一括インストール・一括管理可能なXAMPPでもいいような気はしますが… XAMPP for Linux のインストール http://www.kkaneko.com/rinkou/mysql/xamppinstalllinux.html なお、 <?php print($_SERVER['PHP_SELF']) ?> と書くとXSS脆弱性が発生します。以下を参考に修正してください。 Pentan.info - $_SERVER['PHP_SELF']は危険? http://pentan.info/php/php_self_security.html PHPという言語はとても敷居が低いので、入門サイトや市販されている入門書にすら不適切な記述が書かれていることが多いです。疑ってかかる姿勢を忘れないでください。個人的な評価ですが、Pentan.infoさんの情報は比較的完成度が高く、綿密に調べ上げた上で記載されていることが多いです。PHPBookさんも比較的良質の情報を提供してくれるほうですが、今回の件に関してはちょっとイマイチでしたね… $personal_name = $_POST['personal_name']; $contents = $_POST['contents']; あくまで簡易的な入門であれば気にする必要はないかもしれませんが、こういった記述に関してもエラーを発生するリスクがあるので実用を考えるならば絶対に修正すべきです。以下を参考にどうぞ。PHPBookさんはE_NOTICEを非表示にされているみたいですが、この環境で開発を行うのは望ましくないです。全てのエラーを表示する設定にしてください。 Qiita - $_GET, $_POSTなどを受け取る際の処理 http://qiita.com/mpyw/items/2f9955db1c02eeef43ea 【蛇足】 AsarKingChangさん >> ちなみ私は、printは使わず、常時 >> echo を使ってます。 >> ()がないだけで、楽なので^^(好みです) 実は echo も print も両方、関数ではなく言語構造なので括弧は省略することが出来ます。両者の違いはそこではありません。詳しくはマニュアルをご覧ください。 PHP Manual - echo http://www.php.net/manual/ja/function.echo.php PHP Manau - print http://www.php.net/manual/ja/function.print.php [echo のメリット] ・短縮構文が存在する ・「.」演算子で文字列結合する代わりに、優先度の低い「,」を用いてバラバラに出力することが出来る ・動作がprintよりもわずかに速い [print のメリット] ・返り値「1」を持つので、文ではなく式として扱うことが出来る 原則的には echo を使っておけばいいと思います。私が一番使うのは短縮構文の方ですが。
その他の回答 (2)
- memphis
- ベストアンサー率40% (975/2395)
>OSはubuntu 13.10 32bit版です。 >apache2導入済みです。 phpを入れてない。もしくは、apacheからphpを使う設定を忘れているかのどちらかです。
- AsarKingChang
- ベストアンサー率46% (3467/7474)
そもそも、実行されてますか? <?php echo "hoge"; ?> だけのHTMLで実行できますか?? そこが出来たら、次は、 <form method="POST" action="<?php print($_SERVER['PHP_SELF']) ?>"> ここが正しく展開されているか、一応みてくださいね。 ちなみ私は、printは使わず、常時 echo を使ってます。 ()がないだけで、楽なので^^(好みです) このソースは、簡易POSTの実験なので、掲示板にはなりませんが、 実行さえ確認できれば、すぐですよ! line()で丸ごと取り込んで、追加して、 x行だけ書き出す。<古いログが消えて、 自動的に掲示板っぽくなります。 <ちょっとした、ズルみたいなやり方。 とりあえず、 実行できているかを、確認してみてくださいね。