php mysql データ登録

このQ&Aのポイント
  • PHP初心者のために、フォームを使ってデータベースに個人のデータを登録する方法を教えてください。
  • データベースにデータを登録する際に、登録した日付も一緒に保存する方法を教えてください。
  • 登録したデータをマイページで確認する際に、登録された日付も表示する方法を教えてください。
回答を見る
  • ベストアンサー

php mysql データ登録

お世話になっております。 ご質問があり、ご投稿させていただきました。 PHPは初心者です。 現在phpにて登録ページを作成しております。 ご質問ですが、フォームにて個人のデータを入力し、登録ボタンを押すとデータベースに登録されるという流れです。 ここでご質問ですが、データベースに登録した時点でその人の登録された年月日も一緒に登録するにはどのように記述したらよろしいでしょうか? その後登録した人が自分のページ(いわゆるマイページ)をみたときにいつ登録されたかもわかるようにしたいのですが、なかなかうまくいきません。 参考サイトはgooの公開プロフィール確認画面の登録日のような感じです。 お分かりの方がいらっしゃいましたらご教授お願いいたします。

  • PHP
  • 回答数5
  • ありがとう数3

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

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

$query_reg = "INSERT INTO `member` (`id`,`password`,`first_name`,`last_name`,`first_kana`,`last_kana`,`reg_date`) VALUES('{$id}','{$password}','{$first_name}','{$last_name}','{$first_kana}','{$last_kana}',CURDATE())"; みたいなかんじで?

h199613
質問者

お礼

ご教授有難う御座います。 できました。 有難うございます。 もうひとつご質問なのですが、登録日時がデータベース内で見ると2010-03-25となっており、それをphp上で呼び出すと2010-03-25と表示されるのもわかっているのですが、これを2010年03月25日とすることは可能でしょうか? '年''月''日'と表示させたいのですが・・・

その他の回答 (4)

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

若干主旨がずれてきていますが 手を抜くなら <? $str="2010-03-25"; $date=strtotime($str); print date("Y年m月d日",$date); ?> ただ日本語フォーマットは推奨されないので、ちゃんとやるなら <? $str="2010-03-25"; list($year,$month,$day)=explode("-",$str); $format = "%04d年%02d月%02d日"; printf($format, $year,$month,$day); ?> みたいな感じで・・・

h199613
質問者

お礼

有難うございます。 できました。 また何かありましたらご教授お願いいたします。

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

timestamp型は自動で更新日時がはいるので、年月日でいいなら date型でcurdate()で、日時がほしい場合は、datetime型でnow() がいいんじゃないでしょうか?

h199613
質問者

補足

ご教授有難う御座います。 #1さんの補足にて記述したのですが、date型でcurdate()が使いたく色々と試したのですが、どれもエラーがでてしまい、どうしてよいのかわからずです。 お手数ですがご教授いただけないでしょうか?

noname#111181
noname#111181
回答No.2

具体的なPHPスクリプトやSQL文がないので具体的な回答はできませんが、MySQL の関数 NOW (http://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html)を使えば要件は満たします。

h199613
質問者

補足

ご回答有難う御座います。 参考サイト拝見させていただきました。 ですが、どこに記述をしてよいのかわからずです。 お手数ですがご教授いただけないでしょうか?

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 どのような作りかたになっているかわからないので適切な答えかわかりませんが、 Timestamp型等のカラムを持ってそこにnow()でデータを作ってあげれば登録した時の日付が入ります。 多いのは登録日時と更新日時の2つのカラムを持っておき、新規登録時は登録日時に日付を登録。 更新時は更新日時を更新毎に更新する。 ということを良くやります。

h199613
質問者

補足

ご回答有難う御座います。 http://oshiete1.goo.ne.jp/qa5767646.html を参考にさせていただいたのですが、 $id = mysql_real_escape_string($_POST['id']); $password = mysql_real_escape_string($_POST['password']); $first_name = mysql_real_escape_string($_POST['first_name']); $last_name = mysql_real_escape_string($_POST['last_name']); $first_kana = mysql_real_escape_string($_POST['first_kana']); $last_kana = mysql_real_escape_string($_POST['last_kana']); $query = sprintf("SELECT * FROM member WHERE id='%s' ",$uid); $query_reg = sprintf("INSERT INTO `member` (`id`,`password`,`first_name`,`last_name`,`first_kana`,`last_kana`) VALUES('$id',$password,'$first_name','$last_name','$first_kana','$last_kana')"); $result = mysql_query($query, $link); $result_reg = mysql_query($query_reg, $link) or die(mysql_error()); とさせていただいており、 >多いのは登録日時と更新日時の2つのカラムを持っておき、新規登録時は登録日時に日付を登録 とありましたがどのように設定をしてよいのかわかりません。 一応データベースにはreg_dateとカラムを作っています。 初心者で申し訳ありません。 ご教授いただければと思います。

関連するQ&A

  • 【php MySQL】データが取り出せない

    こんにちは。 MySQLのデータをphpで管理するページを作っていますが、壁にぶつかってしまいました。 データベースのあるフィールドに、「あああ」「いいい」「ううう」というようにいろんな言葉が登録されています。 これらを削除・追加するために、phpで取り出して、チェックボックスでリストアップします。 リストにない言葉は新たに登録できるように、テキストフィールドも用意しています。 □あああ □いいい □ううう 新規:[   ](テキストフィールド) というふうにです。 このフォームはちゃんと機能していまして、追加した言葉はデータベースに記録されているのですが、なぜかフォームにリストアップされないのです。 例えば、    □あああ □いいい □ううう 新規:[   ] で、新規のところに「かかか」と入れて送信すると、    □あああ □いいい □ううう □かかか 新規:[   ] となってほしいわけですけど、    □あああ □いいい □ううう □ 新規:[   ] となってしまうのです。 フォームを使って送信した言葉が、データベースに記録されていながら、取り出せないというのは、何が原因だと考えられるでしょうか? 何かすごく単純なことのような気がするので、ソースは載せないでおきます。 ご教示をよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 【PHPとMySQLで登録・ログインフォームを作りたい】

    【PHPとMySQLで登録・ログインフォームを作りたい】 お世話になっております。 この度、大学の研究室のIP管理をすることになり、ホスト名を登録するフォームを作ろうと思っています。 そこで勉強も兼ねてPHPとMySQLを使って登録フォームとログインフォームを作りたいのですが中々参考になるサイトが見つからないのでよろしければサンプルや解説などがあるサイトを教えていただけると嬉しいです。 流れとしては 登録フォームでIDとパスワードを設定 ↓ ログインフォームでログイン ↓ 管理画面でホスト名を設定 で考えております。 登録フォームの作り方(PHPのフォームで文字を受け取りSQLに格納)の方法が分かれば管理画面もすぐ作れるかなと考えております。 参考になるサイトや解説サイト、サンプルサイトがあれば教えてください。お願いします。 フォームからの文字の受け取り方、SQLの格納の仕方など些細なことでもかまいません。お願いします。

    • ベストアンサー
    • PHP
  • mysql データ登録

    phpにてmysqlにデータ登録の流れを作っているのですが、わからないことがあり投稿しました。 簡単に流れを説明しますと mysqlのテーブル(テーブル名member)の構成は id | name だとして phpのフォームで <input type="text" name="name1" value=""> <input type="text" name="name2" value=""> <input type="text" name="name3" value=""> というものを作っています。 ここでフォームのname1、name2、name3をそれぞれ入力したときにmysqlに登録されるのですが、 mysqlのなかに id | name 1 | A 2 | B 3 | C としたいのですが、下記の記述ではできません。 (INSERT INTO `member` SET `name`='$name1',`name`='$name2',`name`='$name3') エラー文はColumn 'name' specified twiceと表示されます。 レコード数は増やしたくないので、何か方法が御座いましたら教えていただけないでしょうか? まだ、PHPを勉強し始めたばかりで困っています。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • マイページ機能 php

    phpでマイページ機能のイメージが分からないので教えてください。 ここの質問掲示板などでは、共用部分(質問ページ)とマイページ(プロフィールページ) に分かれていますよね? マイページ’(自分専用のページ)はどうやって増やし・そして個人に割り当ててるのでしょうか?

    • ベストアンサー
    • PHP
  • PHP+MySQLでこのようなシステム

    PHPとMySQLで、このようなシステムを作れないかと考えているのですが、可能か不可能か、もしくはヒントだけでもいただだけないかと思い、質問させていただきました。 まず、PHP+MySQLというのは、javascriptとかも初心者用の本を買ったりしたのですが、こういうところに使うとかいまいち理解できず、 現在PHP+MySQLと必要な時だけjavascriptのサンプルをコピペとかで使って事足りているということです。 PHP+MySQLの知識は、浅い方ですが、データベースを使っての表示や条件抽出くらいはできるくらいです。 主に使うデータベース・ページは、下記の通りです。 データベース内にテーブルが複数あります。 ・table_01 ・table_02 ・table_03 全テーブルデータの一覧を表示させるPHP(1ページ20件毎に表示させています) ・itiran.php 各会員ページのPHP ・mypage.php 「このようなシステム」というのは、 ・一覧ページ【itiran.php】に[追加]ボタンを作り、[追加]を押すと会員ページ【mypage.php】に追加した商品が一覧として表示される ・【itiran.php】および【mypage.php】で追加した商品を一覧から[削除]できる ・【itiran.php】の各商品には、追加している人数[登録数]が表示される([削除]した場合は、人数は-1となる) 【itiran.php】テーブル例 ┼───┼───┼───────┼───┼ │NAME│ZAIKO│お気に入り    │登録数│ ┼───┼───┼───────┼───┼ │ポニョ │2,000 │ 追加       │500 │ ┼───┼───┼───────┼───┼ │ゲド  │1,000 │ 追加       │300 │ ┼───┼───┼───────┼───┼ │トトロ │9,000  │登録済み・・削除│100 │ ┼───┼───┼───────┼───┼ ・データベースは、各テーブル更新があった場合、一度の更新数が多くいので、1テーブルまるごとCSVで更新しています。 ・登録数を、このテーブル内に入れておいた方が良いのでしょうか。 参考になるようなサイトもなく、PHP+MySQL可能か不可能か、もしくはヒントだけでもお願い致します。

    • ベストアンサー
    • PHP
  • 「教えて!goo」で登録した者ですが…

    こんばんは。 自分なりにヘルプを見たりしたんですが、良く分からなかったので、ここで御聞きしたいと思います。 教えて!gooのページからはログインできるんですが、OKWaveのページからだとログインできません。 新しく登録すれば入れるんでしょうけど、それだとマイページとか空っぽになってしまいますよね。 OKWaveのページだと、今月回答した人の数とか見られるので、そっちからログインして見たいと思ったんですが、何か良い方法があるでしょうか。 そもそも、このカテゴリのページは「教えて!goo」でも見られるのですが(*1)、トップページ(*2)からリンクされていない様です。 gooから登録した人は見られなくても良いという事でしょうかね? *1: http://oshiete1.goo.ne.jp/oshiete.php3?c=517 *2: http://oshiete1.goo.ne.jp/index.php3

  • PHPのソケット通信について

    PHPにおいてのソケット通信についての質問です。マイページ機能をもたせたシステムの構築をしています。 マイページで認証を行い、そのユーザのユーザIDと乱数を一緒にデータベースに認証成功時に格納しています。 そして、マイページから別サーバへリンクしたときにPOSTしてこのユーザIDと乱数を送ります。 ユーザがマイページを経由して別サーバにアクセスしてきているかどうかということを確認するために、別サーバからこのマイページを運用するサーバに対してユーザIDと乱数をソケット通信によって送り、データベースに登録されているかどうかを別サーバ上のページを遷移するたびに確認したいのです。 データベースに登録されているユーザなら、マイぺージを経由してアクセスしてきているということでページを表示させて、登録されていないなら、マイページのログインページを表示させるようにしたいです。 Socket通信について調べてみたもののわかりにくいものが多くて、理解しかねますので、よろしくお願いします。 サンプルのコードをのせていただくと、なお嬉しいです。 開発環境は OS windows vista 言語 PHP5 サーバ Apache DBMS MYSQL です。 よろしくお願いします。

    • 締切済み
    • PHP
  • PHP⇒MySQL CSVファイルのアップロードについて

    こんにちは。 先日も質問させていただいたのですが、宜しくお願い致します。 8万行ほどあるCSVをフォームから送信してDBに登録をおこなって いるのですが、フォームから登録をおこなうと何件か登録がされ ません。 また、登録内容に¥があったり、途中で文字が抜けていたりするの ですが何か原因かわかりません。 エンコードは全てsjisに設定し、EUC⇒sjisに変換する式も入れています。 コマンドプロンプトから「load data」で登録すると全て正常に登録されます。 また、前回質問させていただいたときに、処理を分けたほうが良いのでは? とアドバイスをいただいたため、 form.php⇒insert.php⇒test.php という流れにして insert.phpには DBの接続文(load文)とheader("Location:test.php"); を記述しています。 実行させるとtest.phpが表示さるのですが、SQL文は実行されておらず、 DBに登録されていません。 参考書やHPなどで調べながら作業をしているのですが、他に参考になる ようなサイトやサンプルコードがあれば教えてください。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPで入力した内容をMYSQLに登録するとエラーが表示。

    PHPで入力した内容をMYSQLに登録するとエラーが表示。 PHP側のフォームにパソコンと入力しMYSQL側に登録すると、 DB Error unknown errorと表示されていますが、 MYSQLのデータベースの中を確認すると、パソコンと登録されています。 PHPとMYSQLはsjisで設定します。 このエラーの回避は出来るのでしょうか?ご教授お願いします。

    • 締切済み
    • 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

専門家に質問してみよう