• ベストアンサー

ゲームノベルのような分岐のある小説サイトをphpで作りたい

phpやプログラミングの初心者です。よろしくお願いします。 よく、ゲームで分岐選択があり、その選択によって結末が違うゲームノベルがありますが、それを作るのに、途中で読むのをやめても、そのページを開いた時に、ページurlをクッキーに自動的に送り、続きから読めるように、「しおり」をsetcookieで作りました。 ですが、それではやめた所からしか見る事ができません。 できれば、目次ページを作り、そこに辿ってきたページはまた見ることができるように、一度見たページに飛べるリンクを表示していきたいのですが、 方法を教えてもらえないでしょうか?

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

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

URLをクッキーに保存するのではなく、通ってきたページ番号をクッキーに保存します。 例えば、1,2,3,4… なんて保存しておいて、取得するときに分割すれば良いでしょう。 PHPの方でそのページ番号を元にそのページを表示させるようにすればいいかと思います。 ただこれは単にひとつの案です。 やり方はいくらでもあると思います。 終了時に途中経過を保存したものをブラウザに送り、再開時にはそのデータを送ってもらったりという方法もあるかと思います。 色々考えてみてください。

greatpig
質問者

お礼

お答えありがとうございます! やってみてからお返事を。と思ったのですが、 どうにも行き詰まってしまったので、 先にお礼をいたします。 よかったら、この先の方法も教えていただけたら幸いです; 初歩的な事でもうしわけないですが 通ってきたページ番号をクッキーに保存していくのは、ページを進めるごとに、ページ番号がどんどん追加されていかなくてはいけないと思うのですが、 その方法がわかりませんでした。よかったら教えてもらえないでしょうか。

その他の回答 (1)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.2

#1です。 単純にクッキーから値を取得して新しいページ番号をお尻に追加し、それを再度クッキーにセットすればよいです。 $newpage = $_COOKIE['page'] . "," . $page; setCookie( "page", $newpage, $term ); こんなんでいいと思います。 $page は表示しているページ番号とかそんな意味です。 $term はクッキーの有効期間です。

greatpig
質問者

お礼

方法を教えていただきありがとうございます! お礼が遅くなってすみません! やってみました。できました! 本当にありがとうございました。 でも、実際に使用しようと思ったら、同じページを二度ロードしてもクッキーに入らないようにしなければいけないですね;方法を探します。

関連するQ&A