プロが教える店舗&オフィスのセキュリティ対策術

お世話になっております。

ご質問があり、ご投稿させていただきました。
PHPは初心者です。

現在phpにて登録ページを作成しております。
ご質問ですが、フォームにて個人のデータを入力し、登録ボタンを押すとデータベースに登録されるという流れです。

ここでご質問ですが、データベースに登録した時点でその人の登録された年月日も一緒に登録するにはどのように記述したらよろしいでしょうか?

その後登録した人が自分のページ(いわゆるマイページ)をみたときにいつ登録されたかもわかるようにしたいのですが、なかなかうまくいきません。

参考サイトはgooの公開プロフィール確認画面の登録日のような感じです。

お分かりの方がいらっしゃいましたらご教授お願いいたします。

A 回答 (5件)

$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())";

みたいなかんじで?
    • good
    • 0
この回答へのお礼

ご教授有難う御座います。

できました。
有難うございます。

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

'年''月''日'と表示させたいのですが・・・

お礼日時:2010/03/25 18:08

若干主旨がずれてきていますが


手を抜くなら
<?
$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);
?>

みたいな感じで・・・
    • good
    • 0
この回答へのお礼

有難うございます。

できました。

また何かありましたらご教授お願いいたします。

お礼日時:2010/03/26 01:38

timestamp型は自動で更新日時がはいるので、年月日でいいなら


date型でcurdate()で、日時がほしい場合は、datetime型でnow()
がいいんじゃないでしょうか?

この回答への補足

ご教授有難う御座います。

#1さんの補足にて記述したのですが、date型でcurdate()が使いたく色々と試したのですが、どれもエラーがでてしまい、どうしてよいのかわからずです。

お手数ですがご教授いただけないでしょうか?

補足日時:2010/03/24 22:48
    • good
    • 0

具体的なPHPスクリプトやSQL文がないので具体的な回答はできませんが、MySQL の関数 NOW (

http://dev.mysql.com/doc/refman/4.1/ja/date-and- …)を使えば要件は満たします。

この回答への補足

ご回答有難う御座います。

参考サイト拝見させていただきました。

ですが、どこに記述をしてよいのかわからずです。

お手数ですがご教授いただけないでしょうか?

補足日時:2010/03/24 22:46
    • good
    • 0

こんにちは。



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

この回答への補足

ご回答有難う御座います。

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とカラムを作っています。

初心者で申し訳ありません。
ご教授いただければと思います。

補足日時:2010/03/24 22:39
    • good
    • 0

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