• ベストアンサー

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

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

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

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

  • ベストアンサー
  • 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

  • トップページを探しています

    http://f-kawaraban.cside.com/db4/db.cgi?mode=view&no=8 このページのトップページを探しています。しばらく見ていなかったら、トップページに行けなくなってしまいました。 どうやって自分で見つけたかも忘れてしまったので、どうしたらいいやら。 ご存知でしたら教えてください。

  • クエリのあるURLを短縮して301リダイレクトしたいのですが。

    何度やってもダメだったのでぜひ教えてください。 http://hoge.com/index.cgi?id=2&mode=individual&no=1&eid=973 というアドレスから http://hoge.com/index.cgi?mode=individual&eid=973 に301リダイレクトするにはどう.htaccessに記せばよいのでしょうか? RedirectPermanent /index.cgi?id=2&mode=individual&no=1&eid=973 http://m.wayohoo.com/index.cgi?mode=individual&eid=973 だと飛びませんでした。どう書けば飛んでくれるのでしょうか?ぜひご教示お願いいたしますm(_ _)m

    • 締切済み
    • CGI
  • あるページだけがインデックスされない

    自分のWebサイト(HTMLの手更新)で、 hogehoge.com/hoge/no001.html hogehoge.com/hoge/no002.html hogehoge.com/hoge/no003.html といったナンバリングでHTMLファイルを管理しているところがあります。 上記のページは、【サイト名+各ページのh2タグ名(全て日本語の固有名詞)】でぐぐると1~5番目に表示されます。 しかし、ある1ページだけはぐぐっても全く出てきません。 その固有名詞が他と違いがあるわけではありません。 どういうふうにしたらGoogleにインデックスされるでしょうか。

    • ベストアンサー
    • SEO
  • URLについて

    よく、 http://www.sample.com/category/ とか http://www.sample.com/category/music/ とか、「/」でアドレスが終わっているページがありますが、これは実際には http://www.sample.com/category/index.php http://www.sample.com/category/music/index.html という構成なのでしょうか? 知りたいのは2点です。 質問1. なぜ、「/」で終わるようにして http://www.sample.com/category.php http://www.sample.com/category/music.html としないのでしょうか? 質問2. あと、もしパラメータをつけるとしたら http://www.sample.com/category.php?id=hoge は、 http://www.sample.com/category/ だとどのようになるのでしょうか?

    • ベストアンサー
    • HTML
  • php化して、.htaccessでリダイレクトしたが、index.phpが強制的に表示されてしまう

    1.トップページをhtmlからphpに変更しました。 旧)http://www.hoge.com/index.html 新)http://www.hoge.com/index.php 2.「.htaccess」に301リダイレクトを記述しました。 Redirectpermanent /index.html http://www.hoge.com/index.php 3.困ったこと http://www.hoge.com/ でアクセスしたときに http://www.hoge.com/index.php に転送されてしまう。 できれば、 http://www.hoge.com/ このまま表示してほしいんですが、 .htaccessの記述に問題があるのでしょうか? すみません、分かる方には簡単なのかもしれませんが、 教えて頂ければ助かります。

    • 締切済み
    • PHP
  • mod_rewrite 動的ページを静的ページへ

    SEO対策として、動的ページを静的ページへリダイレクトさせたいと考えています。 レンタルサーバーのため、.htaccessへ記入するしか方法はないと思っているのですが、 そもそも「静的化するってこと自体」がよく分かってないので、教えてください。 <現状> ▼URL /hoge/index.php?id=1 ▼.htaccess RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z]+)\.html$ details.php?id=$1 [L] <結果> 実行すると、/hoge/1.htmlとなり、望む結果を得られるのですが、 念のためディレクトリを指定しておきたいと思い、 RewriteRule ^/hoge/([0-9A-Za-z]+)\.html$ /hoge/details.php?id=$1 [L] としたところ、全く静的表示されなくなりました。 ■質問1 なぜ、ディレクトリを指定すると静的化できないのでしょうか? ■質問2 ネットでmod_rewriteの解説ページを検索してみると、静的化の例として、 「hoge/1.html へアクセスがあった際に、index.php?id=1の結果を返す」、 と記載されてます。 「index.php?id=1へアクセスした際に、hoge/1.html の結果を返す」 ようにした方がいいと思うのですが、 これって結果的には同じことをしている、と考えてよいのでしょうか? ■質問3 例えば、「/hoge/index.php?id=1」に対して、 「index.php?id=1へアクセスした際に、hoge/1.html の結果を返す」 ようにするには、どう書けばよいのでしょうか?

    • ベストアンサー
    • PHP
  • phpにて動的なページを生成する方法やプログラムなどをお教えください

    htmlで作成されたホームページの更新をしておりますが、毎日増えるページの追加・更新などの手間に頭を悩ませています。 日々更新される記事が多くのサイトでphpやcgiによって引数を与えて動的なページで生成されたものになっていますが、これを実現できる方法やプログラムがあればお教えいただけると大変助かります。SEO対策には不利なことは承知でおります。 例えば、 ▽記事のリンクが動的なものです。 http://www.okamura-kengyo.com/ ▽カテゴリが動的なものです。 http://www.koitra.net/index/top/index.php ▽cgiであれば以下のようなものです。 http://www.tokyo-calendar.tv/cal/cal.cgi よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • リンクボタンについて(初心者ですが…)

    下記のようにリンクボタンを作ったのですが「manu_index.php?~これ以降が消えます…」 <FORM ACTION="http://hoge.com/menu_index.php?ID=1&NO=3"> <INPUT TYPE=SUBMIT VALUE="ページ"> </FORM> PHPの初歩的な問題かとは思いますが宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPで一度に複数ページのスクレイピングをしたいのですが、リクエストの

    PHPで一度に複数ページのスクレイピングをしたいのですが、リクエストの仕方がよく分かりません。 初心者的な質問で恐縮ですが 例えば、http://hoge.com というサイトの子ページが http://hoge.com/page_1.html という形式だったとして $url = 'http://hoge.com/page_\d+.html'; このような感じで書いてみましたが、「ページが存在しません」というレスポンスが返ってきてしまいます。 このような場合に子ページの情報まで取得するにはどのようにすれば良いのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • 遷移前のページのクエリを取得したい

    PHPについての質問です。 ブラウザに、 ttp://hogehoge.com/hoge1.php?hoge=moge というページを表示している状態で、そのページ内のリンクをクリックし、そのリンク先は、 ttp://hogehoge.com/hoge2.php というページだとして、この hoge2.php で直前のページ(hoge1.php)の「hoge=moge」という情報を取得したいです。 $_SERVER["QUERY_STRING"] で現在のページのクエリを取得できますよね。 また、 $_SERVER["HTTP_REFERER"] で遷移してくる前のページのアドレスを取得できますよね。 こういう感じで、遷移してくる前のページのクエリを取得する方法はありますか? cookieとかを使うしかないのでしょうか?

    • 締切済み
    • PHP

専門家に質問してみよう