[PHP-users 19143]Re: 複数のフォーム(ページ)間でデーターを引き継ぐには?
ケン
gautyo @ aioros.ocn.ne.jp
2003年 11月 27日 (木) 17:49:36 JST
仲村様
この度はお返事遅れまして申し訳ございません
服部と申します。
> > よくテキストフィールドの”HIDDEN”属性で値を持ちまわるという記述を見ま
すが
> > PHPではフォームの値は変数で受け取れるので
> > この値を画面が切り替わっても変わっても
> > 保持し続ければ壁が越えられると思うのですが・・
> 私の理解ではそれを実現する方法を、セッションといいます。
すいません相変わらずの勉強不足で
基本的なところから知識がぬけておりました:汗
> このマニュアルは、新しい方法と古い方法が両方説明されていて
> かなり混乱しました。$_SESSION と、session_register()を併用して訳わからん事
に...
> 新しい方法と古い方法の併記ではなく、上半分で 新しい方法(session_start,
> $_SESSIONを使う方法)下側で session_register() を使う方法と
> 別々に説明する事はできないでしょうか。
このことも大変参考になりました
手元の書籍では
<?
session_start()
session_register("変数名");
といった形になってましたので
なるほどこうやってやるのか?と思っておりました
何かPHPの過去のバージョンで使える使えないという事があるようですね?
知りませんでした(-.-;)
> 1ページ目に飛ぶ前の画面で session_start(); $_SESSION['page']=1;
> 1〜5ページ目で〜
のソースも具体的に示していただきとても参考になりました
今後頂いたヒントを元に勉強を続けて行きたいと思います
ご助言いただきありがとうございました。
-------------------------------------
服部 憲一
mail gautyo @ aioros.ocn.ne.jp
-------------------------------------
----- Original Message -----
From: "NAKAMURA Takeshi" <1yen @ sh.rim.or.jp>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Tuesday, November 25, 2003 3:38 PM
Subject: [PHP-users 19084] Re: 複数のフォーム(ページ)間でデーターを引き継
ぐには?
> 仲村といいます
>
> On Tue, 25 Nov 2003 14:27:32 +0900,
> "ケン" <gautyo @ aioros.ocn.ne.jp> wrote:
> >> 自分なら仮テーブルを作成しそこに保存。
> >> 最終確認ページにて本テーブルへデータ移行。
> >> で対応します。
>
> > これはデータベースを使ってのことでしょうか
> > 今回特にデータベースは使う事は無く
> > 最終的にはCSVに出力をする予定ですが
> > やはりこのデータ量では難しいでしょうか?
> > 各ページのデータも一度テンポラリファイルなどを作り
> > 読み込んだ方が堅いのでしょうか?
>
> PHPのセッション機能はデフォルトでテンポラリファイルを作成
> (設定次第でデータベースへデータを格納も可能) そのセッション内であれば
> 自動的に変数へ展開してくれます。
> なので、
> 1ページ目に飛ぶ前の画面で session_start(); $_SESSION['page']=1;
> 1〜5ページ目で
>
> session_start();
> if (!isset($_SESSION['page'])) {
> echo "タイムアウトしました。頑張って最初から入力し直しましょう。";
> トップページへリンク
> }
> if ($_SESSION['page'] == ページ) {
> ++$_SESSION['page'];
> }else{
> 変なところからリンクされたときの処理
> exit;
> }
>
> として、php.ini の session.gc_probability を 100 に
> すれば大丈夫ではないかと。
> (アクセスの多い所では負荷が高くなるので、別の方法をおすすめします。)
> *.php.het の日本語マニュアルが読めないようなので...
> http://www.1x1.jp/php/manual/ref.session.html
>
>
> > よくテキストフィールドの”HIDDEN”属性で値を持ちまわるという記述を見ま
すが
> > PHPではフォームの値は変数で受け取れるので
> > この値を画面が切り替わっても変わっても
> > 保持し続ければ壁が越えられると思うのですが・・
> 私の理解ではそれを実現する方法を、セッションといいます。
> session_start() して、 $_SESSION['名前'] に変数を代入すると
> 変数を持ち回ることができる。
> セッションを終わるときに session_destroy() で、セッション終了の印を付けて
おく。
>
> 印を付けておくと PHPスクリプトが呼ばれるたびに session.gc_probability の
確率で
> セッションのデータを消してくれる。(消されるまでは、データが残っているので
> 直リンを打たれるとデータが丸見えになります...セッションハイジャック?)
>
>
> > まだまだいろいろと勉強しなてはなりません(;^_^A
> わたしも勉強しなくちゃいけないけません。
> このマニュアルは、新しい方法と古い方法が両方説明されていて
> かなり混乱しました。$_SESSION と、session_register()を併用して訳わからん事
に...
> 新しい方法と古い方法の併記ではなく、上半分で 新しい方法(session_start,
> $_SESSIONを使う方法)下側で session_register() を使う方法と
> 別々に説明する事はできないでしょうか。移行する人は併記でも良いと
> 思うのですが、始めての人には読みにくいと思います > 英語マニュアルを書いた
人...ってここで言っても仕方ないけど
> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----
+
> 関西沖縄青年の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
> 仲村 武 <1yen @ sh.rim.or.jp>
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>
PHP-users メーリングリストの案内