• ベストアンサー

日付を入れるとそのページに飛ぶ方法はありませんか?

現在、以下のようなページ(日記)があります。 http://hoge.com/index.php?mode=cal_view&no=20060218 20060218 は 2006年2月8日のページです。 htmlに □□年□□月□□日 と表示されたて □□に数字を入れると、ぞのページに行くようしたいのです。 簡単な方法はないでしょうか?サンプルがあれば助かります。 初心者なのでよろしくお願いします。

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

## FORM ## <form method="POST"> <input type="text" name="y" size="4">年 <input type="text" name="m" size="2">月 <input type="text" name="d" size="2">日 <input type="submit" value="移動"> </form> ## 受取 ## <?PHP $page = sprintf("%04d",$_POST['y']) .sprintf("%02d",$_POST['m']) .sprintf("%02d",$_POST['d']); $page .= '.html'; header("Location: $page"); ?> これで入力した日付のHTML(YYYYMMDD.html)に飛びます。

hokuriku
質問者

お礼

ありがとうございます! 書いていただいたのですね! 初歩的な質問で申し訳ありません。 ## FORM ## を 1.htm ## 受取 ## を 1.php として貼り付けましたが動きません(PHPが呼び出せません)。 詳細は以下のとおりです。 -----------------1.htmの内容----------------- <HTML><HEAD><TITLE></TITLE></HEAD><BODY> <form method="POST"> <input type="text" name="y" size="4">年 <input type="text" name="m" size="2">月 <input type="text" name="d" size="2">日 <input type="submit" value="移動"> </form> </BODY></HTML> -----------------1.php内容----------------- <?PHP $page = sprintf("%04d",$_POST['y']) .sprintf("%02d",$_POST['m']) .sprintf("%02d",$_POST['d']); $page .= '.html'; header("Location: $page"); ?> ---------------------------------------- これをindex.php と同じフォルダにいれました。 よろしくお願いします m(__)m

その他の回答 (2)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

絶対パスでも大丈夫です index.php?mode=cal_view&no=は、 hiddenで入れてください。 というか、よくよく見れば、 日記の「no=20060218」の部分を任意の(入力した)日付にすればいいだけなのでは・・・ $_GET['no'] = sprintf("%04d",$_POST['y']) .sprintf("%02d",$_POST['m']) .sprintf("%02d",$_POST['d']); とかに変えてしまえば話が早いような。 その辺は自分で調べてやってください。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

<form method="POST"> ↓ <form action="1.php" method="POST"> FORMの送信先を指定しましょう。

hokuriku
質問者

お礼

ありがとうございます。 http://hoge.com/index.php?mode=cal_view&no=20060218​ の場合でしたら index.php?mode=cal_view&no= を下記のどこに書き入れたらいいでようか? <form method="POST"> <input type="text" name="y" size="4">年 <input type="text" name="m" size="2">月 <input type="text" name="d" size="2">日 <input type="submit" value="移動"> </form> 絶対パスでも大丈夫でしょうか? よろしくお願いします m(__)m

関連するQ&A