• ベストアンサー

クッキーに配列2

クッキーに配列を5つまで追加していきたいのですが、 読み書き方法をお願いします。

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

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

なにか問題があるかもしれませんが。 // set $list = array('A', 'B', 'C'); setcookie("list", urlencode(serialize($list))); // get $list = unserialize(urldecode($_COOKIE['list']));

その他の回答 (1)

回答No.2
参考URL:
http://php.s3.to/man/function.setcookie.html

関連するQ&A

  • クッキーに保存した配列を読みこむ

    クッキーに配列を保存して、それを読み出すという プログラムを書いています。 1次元の配列だと($str[0]など)読み書き共にうまくいくのですが、 2次元、3次元になると($str[0][1],$str[0][1][2]など) 書きこむことは出来るのですが、読み込みがうまくいきません。 多次元の配列になると、クッキーの読み込みが 不安定になるのでしょうか。 どなたかご存知でしたら教えてください。お願いします。 php-3.0.18を使用しています。

    • ベストアンサー
    • PHP
  • クッキーに配列データを追加する方法

    クッキーにデータA、データBを配列のように 追加していきたいのですが、うまくいきません。 当方、初心者ですが、お願いします。

    • 締切済み
    • PHP
  • クッキーを連想配列で扱う方法について

    クッキーを連想配列で使ってみようと思い、下記のようなコードを書きましたがうまく動作しません。 当該クッキーがセットされているときは、★の方の処理が実行されるようにしたいのですが・・・。 修正方法のアドバイスをお願いできませんでしょうか。 if (isset($_COOKIE["mycookie['pg4']"])) { //この記述が問題でしょうか? $order = "desc"; // ★ } else { $order = "asc"; $expiry = time() + 365 * 24 * 3600; setcookie("mycookie['pg4']",1,$expiry); } これを実行した後に、ブラウザ(Firefox 5)のクッキーを見ると、 名前: mycookie['pg4'] 内容: 1 とあり、一応クッキーの送信はされているようです。 また(連想)配列をやめて、"mycookie['pg4']"の部分を全て"mycookie"に変更すれば希望の動作をしてくれます。 ただ、レンタル共有サーバーでの運用ということもありなるべく配列でクッキーをセットしたいのと、 このページ用のクッキーの値の有無(過去の訪問の有無)のみを判定したので、 連想配列でできればいいなぁ、と考えました。 ちなみにHTMLのbody中で、 <?=($_COOKIE["mycookie['pg4']"]);?>と書いてもやはり結果が出力されないので、 恐らくは$_COOKIE["mycookie['pg4']"] なんて書き方が悪いような気がするのですが、 確信はなく、修正方法もわかりません・・・。 お手数ですがご指導どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • クッキーに配列データを

    こんばんは。お世話になってます。 クッキーに配列データを保存したく、調べながら試行錯誤を繰り返していますが行き詰まってしまい、 アドバイスを頂戴できればと投函させて頂きます。 やりたいことは、掲示板にて書き込まれた内容をDBで管理しているのですが、各スレッドごとに1つのファイル(ページ)にて 呼び出しており、ページを閲覧した際、過去に1度でも閲覧した内容はカウント(訪問者数)せず、初めて閲覧した時のみ カウントするといった内容にしたいのですが、DBに登録されているデータも複数あることから、 DBに登録されているデータの連番を、配列データ(クッキー名:view)としてクッキーに登録しようと 考えるところまで至っていますが、うまく登録することが出来ずにいる次第です。 他にもっと適切なやり方があったら、そのご意見も頂戴したいのですが、以上のような考え方の場合、以下のスクリプトにおいて、 どこが不適切なのかをご指摘いただければ幸いにおもっております。 以下が、現在テスト中のスクリプトです。 $view_array = $_COOKIE["view[]"]; $view_array = unserialize(base64_decode($view_array)); //print_r($view_array); if(isset($_COOKIE["view[]"])){ if(!in_array($pno, $view_array)){ $count = $count+1; $sql = "update name set count = $count where no ='$pno'"; mysql_query($sql); $view_array[] = $pno; setcookie("view[]", base64_encode(serialize($view_array)), time() + 60*60*24*360, "/"); } }else{//クッキーに該当する配列がなかった場合 $count = $count+1; $sql = "update name set count = $count where no ='$pno'"; mysql_query($sql); $view_array = array($pno); setcookie("view[]", base64_encode(serialize($view_array)), time() + 60*60*24*360, "/"); } 以上、お忙しいなか恐縮ですが、宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 動的配列の賢い使い方

    動的配列について質問です。 構造体を動的配列で今ボタンを押すたびに値を追加しています。 i = i+1 Redim preserve a(i) as ユーザ定義 ただこの方法だと追加するだけならよいのですが、 削除の時に問題があります。 例えば、配列が5つあるとします。 削除のボタンをクリックし2番目の配列を削除したとします。次に追加ボタンをクリックすると6番目に追加します。 これですと、2番目の値がないのに(5つしかないのに)6つ分のメモリを確保することになると思います。 上手はメモリ確保方法はないでしょうか? 構造体のデータは、 ・index ・文字列 ・数値 をそれぞれ持っており、indexは一応追加するごとに増えていくようになっています。 うまく説明できませんが、よろしくお願い致します。

  • Javaの配列について

    お世話になります。 Javaでは配列は基本型ではなくオブジェクト型(参照型)だということなのですが(実際equals()やtoString()などを持っている)、配列に他のクラスやインターフェイスを継承させる方法はあるのでしょうか?例えば配列にSerializableをimplementsさせて、他のクラスのインスタンスのように直接ファイルに読み書きできるようにすることは、可能なのでしょうか? よろしくご教授ください。

    • ベストアンサー
    • Java
  • クッキーの削除方法

    PHP5にて以下のようにクッキーを連想配列でセットしています。 setcookie("cookie[1]", "10", time()+600); setcookie("cookie[2]", "20", time()+600); setcookie("cookie[10]", "100", time()+600); この場合、一部のクッキー(例えばcookie[2]で設定したもの) だけを削除するにはどうすれば宜しいのでしょうか? 試しに以下の様に記述してみましたが、上手く削除されませんでした。 setcookie("cookie[2]"); また、全てのクッキー(全ての連想配列)を いっぺんに削除する方法もありましたら、お教えください。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 2次元配列の配列

    VisualBasic.NETでプログラムを作っているのですが、2次元配列の配列で行き詰って困っています。 配列1~3を別に定義して、その2次元配列を配列Xという配列にひとまとめにしたいのですが、エラーが出てしまいます。 エラー内容は「配列初期化子の次元が少なすぎます」で、場所は配列Xの第1要素です。 配列1~3以降もどんどん配列を追加していく予定なので、なるべく以下の方法で書いていきたいのですが、解決法はないでしょうか? また、他にいい方法があればご教授ください。 ソースです。 ---------------------------------------- Public 配列1(,) As Integer = _ { _ {1, 1, 1}, _ {1, 1, 1}, _ {1, 1, 1}, _ {1, 1, 1} _ } Public 配列2(,) As Integer = _ { _ {2, 2, 2}, _ {2, 2, 2}, _ {2, 2, 2}, _ {2, 2, 2} _ } Public 配列3(,) As Integer = _ { _ {3, 3, 3}, _ {3, 3, 3}, _ {3, 3, 3}, _ {3, 3, 3} _ } Public 配列X(,)() As Integer = { _ 配列1, _     ←ここにエラーが出る 配列2, _ 配列3 _ } ---------------------------------------- 回答よろしくお願いします。

  • クッキーについて教えてください。

    良くクッキーが有効とか無効とかって言いますけどクッキーってなんですか? 詳しく教えてください。 また、クッキーを有効にする方法や削除する方法を教えてください。

  • クッキーを使用してデータの受け渡しをしたい

    よろしくお願いします。 既に稼動しているシステムの修正などを手がけていますが、全く素人です。 html内に、<script ・・>~~</script>でJavaScriptを埋め込んでクッキーを読み書きしてデータの受け渡しをしようとしています。 現在動いているものでは、商品案内画面から、注文画面に移りますが、そこでもう1度商品を選ばなければなりません。 そこで、案内画面htmlで、setcookieでクッキーに商品番号を書いて、注文画面htmlで、まず、scriptでgetcookieで得た値を、定義したフィールドに移しますが、さて、そのフィードを、html内で表示するには、どうしたらよいのでしょうか。 その商品入力フィールド(実際はselectなのですが)に、initial値として先の商品番号を入れておくようにしたいのですが。 クッキーの読み書きのscriptは一応本を読んで書いてみました。クッキーが書かれるのは確認しました。 読み込んで、定義したフィールドに移すところも書けると思います。ただ、そのscript内のフィールドを、html内で使用する方法がわかりません。

専門家に質問してみよう