• ベストアンサー

PHPでフォームからデータDBに書き込むサンプル

PHPで、フォームから入力されたデータをMySQLのDBへ書きこみ、次画面でHTML内に入力されたデータ表示するようなサンプルプログラム等、どこかに公開されてないでしょうか。 若しくは、ご存知の方、教えて頂ければ幸いです。 1、フォームへデータ入力 2、サブミットを押す。 3、DBへデータを書き込み。 4、HTML内にデータを表示する。 というような流れ。

  • PHP
  • 回答数2
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

書いてみました。 MySQL環境が無く、テストしていないので分かりませんが、 タブン動くと思いますよ^^ フォーム表示 → 登録ボタンクリック → データベース登録 → データベース検索 → 検索結果のHTMLでの表示 詳しい人ツッコミお願いします! <!-- ここからヘッダー部分です --> <html> <head> <title>テストスクリプト</title> </head> <body> <!-- ここまでヘッダー部分です --> <?php # フォームからPOSTデータが送信されていない場合の処理 # 意味は"もしregという名前のPOSTデータが無かったら?" if(!$_POST['reg']){ # HTMLで入力フォームを表示(送信ボタンクリックでこのスクリプト自身にPOST) print <<< html MySQLへ登録してそれをHTMLで表示するスクリプト <form action="$PHP_SELF" method="post"> <input type="text" name="reg"> <input type="submit" value="登録"> </form> html; # regと言うPOSTデータが送信されてきたら以下の処理 }else{ # データベースに接続(アドレス・ポート番号・ユーザー名・パスワードを環境に合わせて書き換える) $dbcon = mysql_connect("MySQLサーバのアドレス:ポート番号","ユーザー名","パスワード"); # データベースを選択(データベース名を環境に合わせて書き換える) mysql_select_db("データベース名"); # SQL文を用意(登録用) # 意味は"$_POST['reg']というデータをテーブル名と言うテーブルに登録します" $sql_reg = "insert into テーブル名 values('" . $_POST['reg'] . "')"; # データを登録 $result_reg = mysql_query($sql_reg); # 登録に成功したら以下の処理 # 意味は"もし$result_regが成功したら?" if($result_reg){ # 参照用SQL文を用意(テーブル名を環境に合わせて書き換える) # 意味は"テーブル名というテーブルの全てのカラムを検索します" $sql_sel = "select * from テーブル名"; # 登録したデータを参照する $result_sel = mysql_query($sql_sel); # 登録データの参照に成功したら以下の処理 # 意味は"もし$result_selが成功したら?" if($result_sel){ # 参照したデータを全部表示(カラム名を環境に合わせて書き換える) while ($item = mysql_fetch_array($result_sel)){ print $item['カラム名'] . "<BR>"; } # データベース接続を切断 mysql_close($dbcon); # 登録データの参照に失敗したら以下の処理 }else{ # エラーメッセージを表示 print "データの参照に失敗しました。"; # データベース接続を切断 mysql_close($dbcon); } # 登録に失敗したら以下の処理 }else{ # エラーメッセージを表示 print "登録に失敗しました"; # データベース接続を切断 mysql_close($dbcon); } } ?> <!-- ここからフッター部分です --> </body> </html> <!-- ここまでフッター部分です -->

参考URL:
http://lcl.web5.jp/prog/phpdb.html
55hosa
質問者

お礼

ありがとうございまいた。 大変助かりました。すばらしいです。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

というかPHPとMySQLと組み合わせる基本なので これがわからないなら、すなおに解説書かうべきです。 掲示板で気軽にきくには解決すべき課題が おおすぎます。 もしきくにしても知っていることは知っていると ちゃんとことわって、どうしてもわからないところ だけ聞かないと質問の意味がぼけてしまいます。

55hosa
質問者

お礼

ご意見、今後の参考になりました。ありがとうございました。

関連するQ&A

  • phpとdb

    phpとdb お世話になります。 PHPとDBについて質問させていただきます。 例えば、PHPプログラムで、URLを指定すると内部リンクを全て取得するプログラムがあるとします。 その出力結果はブラウザ上に表示されます。その出力結果をDBへ直接書き込みたいと考えてます。 DBについてはほとんどいじったことがないのでよくわかりません。 どなたか詳しく解説していただければ幸いです。 またそういったPHPとDBとの連携をしているわかりやすサンプルコードなど公開されているHPをご存知でしたら教えてください。 環境はWindowsでDBはphpmyadminを利用しようと考えてます。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPによる確認フォームについて

    PHP初心者です。 HTMLフォームからPHPファイルに変数を受け渡すシステムを作っています。 下記のようにHTMLフォームから入力された変数をPHPファイル (確認フォーム)で受け取ることはうまくいきました。 $HTTP_POST_VARS['変数'] 次はそのデータを確認フォームの「確認ボタン」で確認して次のPHPファイル (DBへの入力)に変数を渡したいのですが、どのようにすればよいのでしょうか? いろいろ調べてみたのですが、どうもうまくいきません。 どのようにすればよいのでしょうか?

  • PHP フォームからのデータが文字化け

    PHPにて簡単な以下のようなアプリを勉強がてら作っています。 1.登録フォームを表示 2.確認画面表示 3.DB(MySQL)にデータ登録 そこで質問なのですが、フォームから入力し確認画面を表示するときに、フォームから入力した文字が文字化けしてしまいます(正確には文字化けする時としない時があります)。 出力ページはSmartyを使っています。 テンプレートはUTF-8を使っており、テンプレート内の文字は文字化けしません。PHPソースもUTF-8で書いてあります。 各PHPソースには mb_language("uni"); mb_internal_encoding("UTF-8"); mb_http_output("UTF-8"); と記述しています。 DB(MySQL)のテーブルはUTF-8にしてあります。 1点気になるのは、某ホスティングサービス上で作っているのですが、PHPinfoで見てみるとmb_internal_encodingはEUC-JPになっています。 今回UTF-8で作りたいのですがどうしたら良いのでしょうか? 環境は、 Apache 1.3.34 / PHP 4.3.7 / MySQL 4.1.21 です。 アドバイスお願いいたします。

    • ベストアンサー
    • PHP
  • PHP入力フォームについて

    現在入力フォームを作っています。 流れとしてはDBに入っている会員情報をフォーム上に呼び出して(各inputにはDB内の会員の情報が表示される)各会員が自分の情報を編集できるというフォームです。 ここで質問なのですが、会員の人が自分の入力内容を変更した際に入力漏れがあるとフォーム画面に戻るのですがその際に入力した内容が表示されるのではなくDB内のデータが表示されてしまいます。 これをDB内のデータではなく入力した内容にしたいのですが、どうしたらよろしいでしょうか? ソースは下記になります。 form.php <?php DB呼び出し・・・ $_SESSION['name'] = $row['name']; ・・・ ?> <?php echo $_SESSION['err_name']; ?> <input type="text" name="name" value="<?php echo $_SESSION['name']; ?>" /> confirm.php <?php $name = htmlspecialchars($_REQUEST['name']); if(!strlen($name)) { $_SESSION['err_name'] = '氏名を入力してください。'; $errFlag = true; } else { unset($_SESSION['err_name']); } エラーの時はform.phpに戻る ?> <?php echo $name; ?> としています。 とても省略していますが、お分かりの方がいらっしゃいましたら教えていただけると助かります。

    • 締切済み
    • PHP
  • PHPとMySQLを使ったフォームを作っていますが、うまくできないこと

    PHPとMySQLを使ったフォームを作っていますが、うまくできないことがあり書き込みさせていただきます。 わかる方、ご助力願えれば幸いです。 フォームから、送信されたデータを受け取って、MySQLに登録する際に、フォーム内に空欄があると、うまくMySQLのデータベースに追加ができなかったり、変更ができなかったりします。 コードを簡単に書くと… <?php //フォームからデータを取得 $name = $_POST['name']; $address = $_POST['address']; $age = $_POST['age']; //データベース接続処理 $db = mysql_connect("localhost","user","password"); mysql_select_db("db_name",$db); $rs = mysql_query("select * from tablename order by my_id desc",$db); //データベースへの登録 $rs = mysql_query("INSERT INTO tablename(name,address,age)VALUES('$name','$address','$age')",$db); ?> このような感じになります。 フォームには、名前、住所、年齢を入力しているわけですが、年齢が必須でないため、空欄として送られてくることもあります。 年齢に数値が入っている場合は、うまく登録されますが、空欄であった場合、特にエラーが出るわけでもなく、単に「登録されない」という状況がおきます。 データベースのテーブルのフィールドでは、ageは int(11)でNULLはYes、defaultはNULLになっております。 自分なりに調べてみたつもりですが、知りたい情報に出合うことができませんでした。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 入力してからn時間(日)後、DBデータを書き換え

    いつもお世話になっております。 PHP+MySQLにてデータ管理をしています。 わりと初心者ですがよろしくお願いします。 入力フォームにてhogeの値を1とし、DBを書き換えるとします。 これを入力後、この1という値を30日後に自動で2に上書きする、というようなことは実現可能でしょうか? コードを組む上での考え方など教えていただければ幸いです。

    • ベストアンサー
    • PHP
  • DB.phpが見つからない

    以前、ローカル(Windows2000)上でApache + PHP4 + MySQL1.4でデータベースを使用したPHPのプログラムを作っており、正常に動作もしておりました。 ある時、システムが不安定になってきたのでシステムのリカバリーを行い、あらかじめMySQLのデータとPHPのソースを逃がしておきました。 リカバリー後はせっかくなのでApache2 + PHP5 + MySQL1.4で設定を行い、逃がしておいたデータ等をすべて戻し、PHPを起動してみると、 Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in ファイルパス on line 行数 と、いったエラーが表示されます。 データベースを使用しないPHPのプログラムはすべて動作するのですが、データベースを使用するプログラムはすべて同様のエラーが発生します。 いろいろ、インストールの方法などを確認したのですが、結局何が原因か突き止めることができませんでした。 何かご存知の方、教えてください。

    • ベストアンサー
    • PHP
  • PHP フォームについて

    PHP初心者です。HTMLとPHPを使って、アンケートフォームを作っています。 ネットで色々と調べていたのですが、基本の構成がわからないので教えてください。 HTMLとPHPの別々のファイルで構成されているフォームと、HTMLにPHPを書き込みをしてHTMLの1つのファイルで構成しているものなどがありました。どの方法でやるとよいのでしょうか? また、同じ内容でもPHPの書き方が違うような感じがするのですが、PHPには同じ動作でも沢山の書き方があるのでしょうか?ウェブサイトによって書き方が違うので少し混乱しています。 [アンケートフォーム内容] テキスト・複数行のテキスト・メール・ラジオボックス・チェックボックス・添付ファイル(添付ファイルは難しいのであれば、無しにします)のフォームの部品をいれたいです。 [動作] 1、顧客がアンケートフォームの入力 2、入力内容を私のメールに転送する のシンプルな動作です。 また、ラジオボタンやチェックボックスをつけると、PHPの構文が難しくなるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPでDBからデータを抽出してHTMLで表示

    こんにちは。 PHP初心者のものです。 クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • 締切済み
    • PHP
  • PHPでDBからデータを抽出してHTMLで表示する

    クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • ベストアンサー
    • HTML

専門家に質問してみよう