ホーム > タグ > Cookie
Cookie
[php + js]読み終えたページによって登場人物紹介ページの内容を変える
- 2010-01-25 (月)
- Javascript
質問サイト見てたら面白いネタを発見!
私は今、長編小説をHPに公開しようと思っています。
キャラクター紹介のページを作ろうと思っているのですが、
読んだ読者さんによって表示される内容を変えたいのです。
例えば第一章で登場するAとBというキャラがいたとします。
読者さんが第一章を読んだらキャラ紹介のページにAとBのキャラクターの紹介が加わる。
という形にしたくて、cookieを使用しようと思うのですが、
なにぶんこのような操作ははじめてでしてどうしたらよいのかわかりません。
各章の最後のページにクッキーを食べさせるjavascriptを書いて、
キャラ紹介のページでクッキーを読み込み、キャラの説明文を表示したいです。物語が進むにつれて、他キャラが増えたり、説明文に追記が加わるようにするにはどうしたら良いでしょう。
cookie使用があまりなく、調べましたがよくわかりませんでしたので詳しく教えていただけましたら幸いです。
独自CGI作ってもよさげな発想だと思ったんだけど、PHPとJavaScript使えば比較的簡単に出来るので、
デモとサンプルソース晒しときます。
ページ構成と概要
- index.html
小説のトップページ(つまり1ページ目 or 第一章) - 2.html
2ページ目 or 第二章(以降、ページまたは章と同じファイル名で連番にする) - cast.php(cast.html)
キャラクター紹介ページ - mychar.js
クッキー発行スクリプトファイル
トップは1.htmlでもindex.htmでも何でもいいですが、
2ページ目より後のページを 番号+拡張子 にします。
- Comments: 0
- Trackbacks: 0
[PHP]フォームの2重送信防止をCookieで行うサンプル
- 2009-03-06 (金)
- PHP
2重送信防ぐ方法でセッションにワンタイムパスワードみたいなの保存しとく方法があけど、
セッション使いたくないなーと思った時は変わりにCookieに保存しとくっていう手もある。
1ページ完結のスクリプトだと特にheader()で飛ばすとエラー出る事もあるので結構便利だと思う。
1、フォームのheddenでトークンIDをセット。IDは表示されるたびに入れ替わる。
-
print '<input type="hidden" name="ticket" value="'.getTokenId().'" />'."\n";
2、保存とか送信とかが成功した時点でPOSTされたトークンIDをCookieに保存するようにして
-
$ticket = $_POST["ticket"];
3、Step2の前のタイミングでPOSTをチェックして、保存されたチケットとPOSTされたチケットが同じなら弾くようにする。
-
if($_POST[ticket] == $_COOKIE["sample_ticket"]){
-
print "不正な送信です";
-
continue;
-
}
▼サンプルソースの関数
セッションの場合もやり方は同じ。
- Comments: 0
- Trackbacks: 2
Home > Tags > Cookie
-
- そしてこのSQLはわれながらよく書いたと思う 2010-11-15
- CSVの列っていう方がいいのかな…118項目だった 2010-11-15
- 楽天のCSVの項目が116個もあった衝撃 2010-11-15
- オフィスで香水臭振りまくのは迷惑だと知れ 2010-11-15
- ぐあー フレグランステロやー 2010-11-15
- More updates...
Powered by Twitter Tools
-
- ホームページビルダー
- 擬似クラス
- 楽天
- 1Column
- 2BOX
- 2ch
- 2column
- 2Helvs
- 3column
- 5BOX
- Actionscript
- Ajax
- Animation
- AntiSpam
- API
- apple
- Aptana
- Aqua
- ASCII
- Assets
- AutoExternalLink
- background
- backup
- BETA
- Blog Status
- breadcrumb
- Bubble
- bug
- Button
- calendar
- Calendarizm
- canvas
- Center
- Chain
- Chrome
- Class
- Click Event
- CMS
- ColorMeShopPro
- ContactForm
- Control
- Cookie
- CSS
- CSS3
- CSV
- Custom
- date()
- Demo
- Dojo
- domain
- Download
- Dreamweaver
- dropdown
- Dummy Text
- Effect
- Elastic
- Error
- Filter
- filter.html
- FireFox
- Fixed
- Flash
- Floating
- foglio
- Form
- free material
- free script
- Function Reference
- Fx.Morph
- Fx.Scroll
- Fx.Slide
- Fx.Tween
- gettext
- get_posts
- GMarker
- Go-To-Top
- GoogleChart
- GoogleEarth
- GoogleMap
- GoogleSearch
- Hack
- Halves
- Highlight
- Horizontal
- HTML&XHTML
- HTML5
- HTML5API
- Icon
- IE
- illustrator
- infowindow
- iphone
- Javascript
- jQuery
- jQuery.plugin
- KML
- LeftMenu
- liquid
- ListMenu
- Localization
- login-system
- Magpie RSS
- Mobile
- mooFollow
- MooTools
- mooTyping
- number format()
- OnlineGame
- OOP
- OpenPNE
- Pagenation
- permalink
- Photoshop
- PHP
- ping
- plugin
- poedit
- Polyline
- prototype.js
- Regular Expression
- RightMenu
- rollover
- RPC
- RSS
- Safari
- Sample
- script.aculo.us
- scrollbar
- selection
- selectors
- SEO
- session
- Shortcode
- Sidebar Widgets
- slimbbs
- Smarty
- SmoothScroll
- strtotime()
- Symphony-CMS
- Tableless
- Tab Menu
- Tar
- Template
- Template Engine
- Template Tags
- time()
- TinyMCE
- token
- Tooltip
- Transparent
- Tutorial
- Tutoriarl
- Valid
- Validator
- vertical-align
- Web Browser
- Web Site
- Wiki
- window.open
- wordpress
- wp-custom
- wp-function
- wp-plugin
- wp-themes
- xampp
- XHTML
- XML
- Xserver
- YUI
- Zend Framework
- Zend_Form
- Zend_View
- zeromail