電子書籍の厳選無料作品が豊富!

PHP全然詳しくないです

簡易の掲示板のようなものを作っているのですが、テキストボックスに記入した内容をデータベースに保管し、そこからもう一度入力した内容を出力する方法が分からず、困っています。

board.phpのテキストボックスに入力→dbconnect2.phpでデータベースにUPDATE命令
dbconnect3.phpでデータベースから入力内容をSELECT命令→board.phpのテキストボックスの下部に入力内容を出力
こういった形にする予定です。


board.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>投稿画面</title>
</head>
<body>
<h3>メッセージ</h3>
<form method="POST" action="dbconnect2.php">
<div class="container">
<label for="message">投稿したい内容を入力してください(※200文字まで)</label><br />
<textarea rows="10" cols="20" id="message"
name="message"><?php print($_POST['message']); ?></textarea>
</div><br /><br />
<input type="submit" name="sent" value="送信する" />
</form><br /><br />
</body>
</html>
<?php
if (isset($_POST['sent'])) {
print($_row['message']); }
?>


そもそもdbconnect3.phpをどうやって繋げればいいのかも分からなくなってしまいました。
なので、その方法も回答よろしくお願いします…。

A 回答 (2件)

まあまあ



画面設計を考慮しないで言うのも何なのですが、こういう従来系のWebアプリケーションのデザインパターンは俗に[BROWSE]+[EDIT]と呼ばれるもので、定番的な内容です。
基本設計は「処理」+「表示」であり、「表示」前に前画面から引継がれたデータを元に何らかの処理を行った後に画面を表示します。
データ引継ぎはForm送信であったり、クエリ文字列であったり、セッション・クッキーです。


■入力・編集画面(edit.php)
Formによる投稿画面表示

・投稿IDが指定されている場合
指定されている投稿をDBから取得して表示
隠しフィールド[ID]に投稿IDを設定

・投稿IDが指定されていない場合
新規投稿画面を表示
隠しフィールド[ID]に-1を表示

■一覧画面(browse.php)
データ処理と一覧表示

・入力・編集画面からの投稿内容が存在する場合
投稿内容にしたがいDBにINSERTまたはUPDATEを行う

・一覧画面から削除パラメータが存在する場合
投稿内容にしたがいDBにDELETEを行う

・共通
投稿一覧を表示
DBからデータを取得して表示
各行にedit.phpへのリンクを表示 <a href="edit.php?id=xxx">...</a>
各行にbrowse.phpへの削除リンクを表示 <a href="edit.php?mode=delete&id=xxx">...</a>

・更新項目表示(入力・編集画面からの投稿内容が存在する場合)
項目内容を表示

//==

入力・編集画面が小さい場合には、2つを結合して1画面にする場合もあります。

また、上記のようにクエリ文字列表示や、formのhiddenに生のid値を書き込むと、利用者サイドに類推されれますので、実際はセッションを使ったり、乱数CDでデータを特定します。
    • good
    • 0

>board.phpのテキストボックスに入力→dbconnect2.phpで


>データベースにUPDATE命令
>dbconnect3.phpでデータベースから入力内容をSELECT命
>令→board.phpのテキストボックスの下部に入力内容を出力

さっぱり要領を得ません。

そもそもtextareaに入力した内容はDBに対してinsert文ではないのですか?update文を使うのは既存の投稿の編集(投稿番号とパスワードが必須)のときだけです。

データベースの(テーブルの)設計はどうなっているんでしょうか?まずはそれを提示してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!