質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.46%

  • PHP

    24600questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • HTML

    11903questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • WordPress

    9150questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

wordpressで掲示板を作成する方法

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 1,301

uverworld101nm

score 94

wordpressで掲示板を作成しようと思いますが、登録内容を一覧表示するページは表示されて、メッセージ投稿ページは表示されません。

登録内容を一覧表示するページと同じフォルダ内にメッセージ投稿ページを作成すれば、登録内容を一覧表示するページの投稿フォームから呼び出されると書いてありましたが、「ページが見つかりません。」と表示されます。
どうすればメッセージ投稿ページが表示されますか?

登録内容を一覧表示するページ
phpファイル名:hoge1.php

<?php
/**
 * Template Name:hoge1
  *
 */
get_header();
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>一言</title>
</head>
<body>
<form action="hoge2.php" method="post">
  名前:<br />
  <input type="text" name="name" size="30" value="" /><br />
  メッセージ:<br />
  <textarea name="message" cols="30" rows="5"></textarea><br />
  <br />
  <input type="submit" value="投稿する" />
</form>
<?php

$con = mysql_connect('localhost', 'root', '1234');
if (!$con) {
  exit('データベースに接続できませんでした。');
}

$result = mysql_select_db('phpdb', $con);
if (!$result) {
  exit('データベースを選択できませんでした。');
}

$result = mysql_query('SET NAMES utf8', $con);
if (!$result) {
  exit('文字コードを指定できませんでした。');
}

$result = mysql_query('SELECT * FROM messages ORDER BY no DESC', $con);
while ($data = mysql_fetch_array($result)) {
  echo "<p>\n";
  echo '<strong>[No.' . $data['no'] . '] ' . htmlspecialchars($data['name'], ENT_QUOTES) . ' ' . $data['created'] . "</strong><br />\n";
  echo "<br />\n";
  echo nl2br(htmlspecialchars($data['message'], ENT_QUOTES));
  echo "</p>\n";
}

$con = mysql_close($con);
if (!$con) {
  exit('データベースとの接続を閉じられませんでした。');
}

?>
</body>
</html>

メッセージ投稿ページ
phpファイル名:hoge2.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>一言</title>
</head>
<body>
<?php

if ($_REQUEST['name'] == '' or $_POST['message'] == '') {
  exit('error');
}

$con = mysql_connect('localhost', 'root', '1234');
if (!$con) {
  exit('データベースに接続できませんでした。');
}

$result = mysql_select_db('phpdb', $con);
if (!$result) {
  exit('データベースを選択できませんでした。');
}

$result = mysql_query('SET NAMES utf8', $con);
if (!$result) {
  exit('文字コードを指定できませんでした。');
}

$name    = $_REQUEST['name'];
$message = $_REQUEST['message'];
$created = date('Y-m-d H:i:s');

$result = mysql_query("INSERT INTO messages(name, message, created) VALUES('$name', '$message', '$created')", $con);
if (!$result) {
  exit('データを登録できませんでした。');
}

$con = mysql_close($con);
if (!$con) {
  exit('データベースとの接続を閉じられませんでした。');
}

?>
<p>メッセージを投稿しました。</p>
<ul>
  <li><a href="hoge1.php">一覧へ戻る</a></li>
</ul>
</body>
</html>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • uverworld101nm

    2016/09/05 18:31

    wordpressで掲示板を作成したいです。

    キャンセル

  • uverworld101nm

    2016/09/05 18:31

    <?php
    /**
    * Template Name:hoge1
    *
    */
    get_header();
    ?>
    <?php
    echo hello;
    ?>
    の下にコメントフォームを設けたいです。

    キャンセル

  • ajisan

    2016/09/06 14:57

    まずは日本語通じるようになってから来てください。

    キャンセル

回答 3

checkベストアンサー

+4

  • WordPressでデータベースに接続する場合、プレーンのPHPでデータベースに接続する方法は使用しません。WordPressにAPIが用意されているのでそれを使用します。
  • get_header()関数は、テーマフォルダ内にあるheader.phpを呼び出す関数です。HTMLのheadなどが重複していると思うので見直された方がよいかと思います。
  • フォームから受け取っている値が一切検証されていませんが、セキュリティ的に大丈夫でしょうか?
  • まずはPHPの必要最低限の知識(プレーンのPHPでデータベースを絡めたセキュアな掲示板が作れるetc)を身につけたあと、WordPressの知識を習得された方がよいように感じます。
  • 掲示板を作りたいなら、WordPressを使う必要性はないように感じますが・・・。どうしてもWordPressがよい!というのであれば、下手に自作しないで、素直にプラグインを使用することをオススメします。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/05 17:13

    ご回答ありがとうございます。
    実はphpファイルを固定ページとして挿入しています。
    またプラグインを使わないのは、表示したい固定ページをphpで作りたいからです。
    例えば、
    <?php
    /**
    * Template Name:hoge1
    *
    */
    get_header();
    ?>
    <?php
    echo hello;
    ?>
    の下にコメントフォームを設けたいです。

    キャンセル

  • 2016/09/05 17:35

    …あ、いや、上記の私の回答内容をちゃんと読んでくださいね…。uverworld101nmさんのやりたい事は多分皆分かっています。分かっているのですが…。

    キャンセル

  • 2016/09/05 17:46

    僕のコードでやれますか?

    キャンセル

  • 2016/09/05 17:49 編集

    ちょっと…難しいと思います。

    キャンセル

  • 2016/09/05 18:26

    どういう風に書けばいいですか?

    キャンセル

  • 2016/09/05 18:26

    コードに間違っている点があるなら教えて下さい。

    キャンセル

  • 2016/09/05 19:05

    全部間違っていると思いますし、teratailは全ソースコード(1つのアプリケーションが動く程のソースコード)を無償で提供するような場ではないと思っていますので、回答は差し控えさせていただきます。お力になれず申し訳ありません。

    上記でも回答いたしましたが、まずは"PHPの必要最低限の知識(プレーンのPHPでデータベースを絡めたセキュアな掲示板が作れるetc)を身につけたあと、WordPressの知識を習得"から挑戦してみてはいかがでしょうか。

    キャンセル

+2

毎度毎度言っていますが、前の質問解決してから次の質問に移りましょうよ。

>どうすればメッセージ投稿ページが表示されますか?
正しく理解して書けば表示されます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/05 15:50

    解決済みにしましたよ。

    キャンセル

  • 2016/09/05 16:11 編集

    ただ解決済みにすれば良いと言っているわけでなく、理解はされているのでしょうか?

    もし「ただ単に解決済みにすれば良い」と取られたのであれば、それは間違いです。
    こちらがあなたの理解力に合わせた回答が出来ず申し訳ないです。
    「理解したうえで解決してから解決済みにする。そして次の質問に移ってください」という意味です。

    追記:「前の質問」とは「ひとつ前の質問」ではなく、「過去の質問全て」ですよ。
       これまたあなたの理解が出来ない回答になっていたみたいです。申し訳ありません

    キャンセル

  • 2016/09/05 16:13

    解決してないのに「解決済」にするのは止めましょう。
    最終的にどうやって解決したのかと、できれば回答者さんへのお礼のコメントも書いたほうがいいと思いますよ。

    キャンセル

+2

http://www.php-labo.net/tutorial/example/message_mysql.html
http://php.net/manual/ja/function.mysql-connect.php
その例は既に推奨されていないので別のを参考にしましょう

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/05 15:56

    dateさんが提示したサイトを使っています。

    キャンセル

  • 2016/09/05 16:21

    例題にあるmysql_connectは既に推奨されておりません。
    参考にするwordpress 掲示板 phpを新しいのにしましょう。
    この質問に対する回答は、これを使うな別のを参考にしてです

    キャンセル

  • 2016/09/05 16:28

    mysqli_connectでしたね!

    キャンセル

  • 2016/09/06 08:18

    いろんな方に言われていますが、今のあなたに作るのは不可能です。
    仮に私が作れと言われても数か月単位の仕事になるでしょう。
    あなたが作れとなれば数年は必要です。
    そもそもアフィリエイトってそんなにもうかるようなものじゃない。
    あなたは本当にこんなことに時間を使っていいのかよく考えてください

    キャンセル

  • 2016/09/06 13:41

    mysqli_connectを使えば、確か接続できましたよね!

    キャンセル

  • 2016/09/06 14:54

    データベースとは接続できます。それで掲示板が作れるかはべつです。
    これ以降はエラーが出せるようになったら答える

    キャンセル

  • 2016/09/06 14:56

    >dateさん
    どうやら日本語が通じてないようです。「推奨されていないから別のを使って」という意味が通じていないみいたいですね。何回もコメントで同じこと聞いていますし。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.46%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • PHP

    24600questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • HTML

    11903questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • WordPress

    9150questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。