- ベストアンサー
PHP 文字列 操作
文字列で $d[]; の session_register(?); 格納のしかたがわかりません。 また、別ページで上記の変数をとりだすとき $d=$_session(?); としなければならないのですか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
バージョンが分からないのでなんともですが、 $_SESSION か、$HTTP_SESSION_VARS に登録したらどうでしょうか? $d が array なので、 $_SESSION["d"] = $d; で、 $_SESSION["d"][0] == $d[0] になります。 この方法を使った場合、セッション内容を session_unregister() で解除するのではなく、 unset($_SESSION) しなければなりません。 (PHP4.2以前対応) 私の使ってる環境では unset($_SESSION) で、一括解除出来ないので unset($_SESSION["d"]) とする必要がありました。 っていうか ↑これを見る限り session_register("d"); で行けそうですよね。(笑
その他の回答 (1)
- Mizyu
- ベストアンサー率41% (245/593)
上の質問は質問の意図が少し理解できないので、割愛させていただきます。 > また、別ページで上記の変数をとりだすとき > $d=$_session(?); > としなければならないのですか? PHPをはじめとするPerl,ASPなどのWebアプリケーション言語の特徴として ひとつのページで、ひとつずつに分かれた別のプログラムを起動する、というイメージを持っていただければわかりやすいかと思います。 たとえば、A.phpから、B.phpへ移動したときには、A.phpで使った変数などは一切使えません。 必要な値はすべてPOSTかGETを用いて渡してやる必要があるんです。 でも、それでは手間がかかる上にセキュリティに問題があります。 そこで、考案されたのが「Session変数」です。 サーバへアクセスのあったクライアントにIDをつけ、そのIDからのアクセスで使える変数をサーバのメモリに確保し、 ページ間で共有できる変数を保持する、といったものです。 そのために$d=$_session(?);という記述が必要なのです。 セッション変数などのキーワードで検索すれば情報はたくさんあると思いますので、それで調べてみてください。
補足
説明不足でした。すみません。 配列の格納の仕方がわかりませんでしたもので・・・ session_register("d"); なのか session_register("d[]"); なのか 正しい記述方法をよろしくお願いします。