- 締切済み
配列の渡し方
お世話になります。 DBからの検索結果を指定した件数で表示するプログラムを作っています。最初のページはうまく表示できるようになったのですが、次のページを表示する際に検索条件が引き継がれずうまく表示できません。検索条件は配列で持っているのですが、配列の中身ごと次のページに引き渡すにはどうしたら良いのでしょうか? ちなみに現在は下記のようなコードで実行しています。 echo " <a href=\"".$_SERVER["PHP_SELF"]."?p=$next&gender=$genderUrl&area=$areaUrl\"> 次のページ</a>"; 上記のコードで言うと、&areaが配列になります。 &genderは単なる数値なのでうまく引き継がれるのですが、&areaはArray()となるだけでうまく引き継がれません。なお、配列の中身は2バイト文字です。 お手数をお掛けしますがよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
機種依存や言語依存がないよう確実性を目指すなら、 不用意にhrefで受け渡しをなさらずに、formのpost でデータを引き継いだ方がよろしいのではないで しょうか?
- MrYoYoYo
- ベストアンサー率33% (38/115)
http://voyager.ei.tohoku.ac.jp/~takashi/seminar-B-2004/seminar-11.php 上記のサイトは少し固いですが、細かく説明してあると思います。 レベルが上がってきたら、 http://jp.php.net/manual/ja/ref.session.php ここも参考にして行くといいかと。 まずは、 何も表示が吐き出される前に、 session_start(); と記述した後に、 $_SESSION[name] = '私の名前'; とやれば、違うページで、 echo $_SESSION[name]; とすると、値が取得できます。 原理を理解すると、うまく使えますが、 まずはいろいろ試して、実感をつかんでみることも お進めします。
- Ikonos00
- ベストアンサー率28% (86/302)
セションに配列をセットして渡せば良いのではないでしょうか。 また、URLの"?"以降で2バイト文字をセットする場合は、 URLエンコードをする必要があります。
- MrYoYoYo
- ベストアンサー率33% (38/115)
配列もしくは、連想配列はGET送信できません。配列の中身ひとつひとつを送信するのならば別ですが、 なので、SESSIONを使うといいかと思います。 とくに、検索条件を保存するには、SESSIONを使っておけば、いちいち情報をまわさずにすみ、とても便利です。
補足
回答ありがとうございます。ご指摘の通りSESSIONでチャレンジしてみます。 ちなみに、SESSIONの使い方もあまりわかってないのでどこか参考になるようなサイトはありませんでしょうか? 重ね重ねのお願いで申し訳有りませんがご存知であればよろしくご指導願います。
お礼
ありがとうございます。お蔭様でセッションについては理解することができました。もう少しがんばればやりたいページを作れそうです。本当に感謝いたします。