• 締切済み

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

はじめて利用させていただきます。php初心者です。 現在、検索サイトのようなものを作っています。 質問ですが、検索した語句にリンクを張ってページ内に表示したいと考えています。(個人専用の検索履歴のようなものを作りたいです) 検索結果にリンクを張ってクッキーに保存して、表示すればいいのかなと思い試してみましたがクッキーに保存される量が少なく困っています。 いざ表示してみると途中で途切れてしまいリンクタグの部分が表示されたりして困っています。 これらを解決するにはどのようにすればよいでしょうか? できれば検索履歴は50件くらい表示したいです。   また、他にもこのような事ができる方法があればご指導よろしくお願いします。 よろしくお願いします。

  • gsipp
  • お礼率100% (2/2)
  • PHP
  • 回答数2
  • ありがとう数2

みんなの回答

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 こういったケースにおいては「セッション」及びそのセッションに紐付く「セッションデータ」という考え方が役に立つかと思われます。 セキュリティその他で問題ありありですが、一応PHPにもsessionというものがありますので、調べてみられるのもよろしいかと思われます。

gsipp
質問者

お礼

がるさんありがとうございます。 セッションデータというのは初めて知りました。 セッションはサーバー側でデータを保存すると思っていましたが、セッションデータはパソコン側で保存できるんですね(間違っていたらすいません) 思っていたことができそうです。 具体的にはどのように記述すればいいでしょうか? 記述ソースが載っているサイトや参考になるサイトがあれば教えていただけませんか。 あつかましいのですがよろしくお願いしますm(__)m

gsipp
質問者

補足

がるさんすいませんでした。私が勘違いしていたようでした。 現在サイトはレンタルサーバーを利用していまして、GETでデータを表示しています。 希望としましてはパソコン側にデータ(検索結果)を記録したかったです。(保存期間は3日くらいを希望) あれから自分なりに調べてみたのですが、クッキーを使用するしかないのかなっと思いました(間違っていたらすいません) これからもう少し調べてみようと思います。 時間がかかりそうでしたので報告まで。 もし、根本的に私が勘違いしているように感じられたら助言をお願いいたします。 よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ポストで送ったデータをhiddenで次のページに 埋め込むとよいでしょう

gsipp
質問者

お礼

返事ありがとうございました! すいません。 具体的に教えていただけないでしょうか? どのようにすればよいか思いつきませんでした よろしくお願いしますm(__)m

関連するQ&A

  • PHPのクッキーによるリダイレクト

    あるホームページを開いて、リンクをクリックした際に、そのリンク先をクッキーに保存して次にそのページを訪れた場合は、そのページを表示しないでそのリンク先へリダイレクトにはどうしたらいいでしょうか?

    • 締切済み
    • PHP
  • PHPでクッキーを使用して

    たとえば http://test.com/index.php?id=a01 でアクセスした場合a01という引数をクッキーに保存し、 その引数を画像ファイル名やインクルードファイル名に使用し、 a01専用のデザイン、要素に変えるということをしています。 わかりにくいかもしれませんが、つまり、 お客さんによってヘッダーやフッターだけはお客さん用に、 変えて共通で使える部分は共通で使っているということです。 そこで、問題なのですが、 http://test.com/index.php?id=a01でアクセスした場合、 以降、どのページ移動しようが、クッキーに保存しているので、 ヘッダーやバナーは引き継がれたままなのですが、 http://www.test.com/index.php?id=a01(ホスト名が付いている) でアクセスするとまた別のクッキーとして新たに登録されていまい、 困っています。どちらからアクセスしてもひとつのクッキーとして 保存したいのですが、何か良い方法はないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • yahooのクッキー

    yahooをよく利用するのですが、検索時に語句を入れるじゃないですか、それがクッキー(でいいんですよね?)として残ります。 インターネットオプションから、クッキーの削除をするとその他すべてのクッキーが消えてしまいますよね。 yahooの語句入力の所ですべてを表示させて1つづつ消せば問題なと思うのですが、結構面倒です。shift押しでもすべて表示は出来ないみたいですし・・・・。 yahooのみのクッキーを一括で消す方法とかってないのでしょうか?? よろしくお願いいたします。

  • Googleでクッキー機能を有効と認識してくれない

    グーグルの検索設定で表示件数を100件ずつにしようと変更を試みました。 検索設定内のGoogleインスタント検索を「使用しない」にして、検索結果の表示件数を「100件ずつ表示する」にすればよいということがわかりましたが、この状態で保存ボタンをクリックしても、「クッキー機能が無効になっている可能性があります。」と表示されて、いっこうに「100件ずつ表示」で固定されません。 問題はクッキー機能だと思うのですが、このクッキー機能を有効にする方法(インターネット設定の詳細にてクッキーを受け入れるなど全て)もすべてやりましたが、何度トライしても「クッキー機能が無効になっている可能性があります。」と表示されてしまいます。(添付画像の通り) ブラウザはIEのバージョン8です。 試しにGoogleChromeでやってみましたが、こちらだと「クッキー機能が無効になっている可能性があります。」と表示されることもなく、問題なく100件表示に変更ができました。 因みに利用したいソフトの関係で、GoogleChromeは使えません。 どなたか同じ症状を改善した方はいらっしゃいませんでしょうか? また詳しくお分かりになる方いらっしゃいましたらご指導宜しくお願いします。

  • 【PHP】 クッキーについてです。

    少し省略してます。 aaa.php ページ内の文字リンクを、たとえば「りんご」をクッリクしたら <a href="bbb.php?no=1"target="main">りんご</a> <a href="bbb.php?no=2"target="main">みかん</a> <a href="bbb.php?no=3"target="main">ぶどう</a> bbb.php に no=1 で 「1」の数字を送り そして、bbb.php で・・・ $no=htmlentities($_GET["no"]); setcookie('abc',$no,time()+86400); $abc=$_COOKIE["abc"]; header("Location:http://○○○/ccc.php") 処理後、ccc.php に行くようにして ccc.php で・・・ $no = htmlentities($_GET["no"]); print '$noです'; としてるのですが、クッリクしてから、すぐに今度は「みかん」をクリックすると 2~3秒 間を空けないと、表示は「りんごです」のままなんです。 「りんご」をクリックしてから、2~3秒 間を空けてから「みかん」をクリックすると 表示は「みかんです」となるのです。 クッキーの処理が遅いのでしょうか? どうしたら、立て続けにクリックしても、ちゃんと表示される様になるのでしょうか? 理想は「りんご」クリック後、2~3秒 間を空けなくても、すぐに「みかん」クリックで 「みかんです」と表示されるようにしたいのです。 ちなみに、実行はエラーはでません。 できれば、私はPHPの経験が浅いので、分かりやすく詳しく教えて頂けると非常に助かります。 中途半端な知識で対応できず苦しんでおります。 何方か、どうか、教えて下さい。 宜しくお願いします。

    • 締切済み
    • PHP
  • クッキーが取得できません

    あるページに<IMG>タグを設置し、SCR属性にPHPページを指定して、そのPHPページでクライアントに保存してあるクッキーを取得したいのですが、思ったようにできません。 クッキーの保存は、上記のPHPページと同じサイトにある別のPHPページで行っています。 <IMG>タグを設置するページは、全く別のサイトです。 SCR属性に指定したURLを直接ブラウザでコールすると、期待どおりクッキーが取得できます。 ファイルへの書き込みやDBへのアクセスなどは問題なくできるのですが、クッキーの取得だけ ができません。 これはセキュリティの関係で、元々できないのでしょうか? どなたかご教授いただけたらと思います。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • JavaScriptで保存したクッキーをPHPで取得

    Javascriptのdocument.cookieで保存したクッキーの値を PHP側で取得することは可能でしょうか? 参考ページなど教えていただけると幸いです よろしくお願いします

    • ベストアンサー
    • PHP
  • phpでクッキーが削除できない(時がある)

    プルダウンで選択された都道府県にすんでいるユーザーの検索処理をしたいのです。 検索をクリックすると、クッキーを発行して、再読み込み。 phpでクッキーの値をみて、クッキーに値があれば、 ユーザー検索。なければ無視、というものです。 if($ck_flg == "1") { のあとに、 setcookie("accEnter","",time()-1); でクッキー値を削除していますが、 クッキーが削除できないためうまく制御ができません。 ただ、<option>タグの行を少し減らすと、クッキーが削除されて、 うまく動くようになります。 HTMLのコードの行数なども影響あるのでしょうか? setcookieの使い方がまずいのでしょうか? ご教示ください。 ■mypage.php(都道府県で検索) <?php $ck_flg = _ss($_COOKIE["flg"]); ?> <html> <body> <form name="search" action="./mypage.php" method="GET" >   <select name="pref">    <option value="東京都">東京都</option>    <option value="千葉県">千葉県</option>    <option value="埼玉県">埼玉県</option>    <option value="神奈川県">神奈川県</option>   </select>   //検索リンクをクリックすると再読み込み。   <a href="javascript: document.cookie = 'flg=1'; document.search.submit();">検索</a> </form> <php //検索リンクがクリックされていたらクッキーを削除して、ユーザーを検索。 //それ以外は無視。 if($ck_flg == "1") {   # COOKIE削除(再読込防止)   setcookie("accEnter","",time()-1);   //プルダウンで選択されたユーザーを検索   $sql = "SELECT id, username";   $sql .= " FROM user WHERE (pref= '神奈川県');"; }

    • 締切済み
    • PHP
  • GETとクッキーの併用

    php初心者です。 今、訪問する場所からの違いによって表示するコンテンツを切り替えるというプログラムをかいています。 訪問する場所からの違いというのは リンク元に引数をもたせ(index.html?key=*****) コンテンツを切り替えるのはその引数をそのまま インクルードファイル名にさせています。 ここまではうまくいったのですが、 訪問した以降はその引数をクッキーに保存し自由に移動できるようにさせたいのですが、どうやらリンクの引数がないページに行くと クッキーが削除されているようでうまくいきません。 例えば、下階層に下ることや横に移動するリンク移動をしても、 クッキーの保存データはしっかり残っているのですが、 最初に訪問したページに「index.html?key=*****」ではなく、「index.html」でもどるとクッキーが勝手に削除されてしまうのです。 下記コードになります。 <?php $value = $_GET["key"]; setcookie("key", $value); ?> <html> <head> <body> ------------------中略------------------ <?php $html = ".html"; $path = "common/template/"; include($path.$_COOKIE["key"].$html); ?> </body> </html> setcookieに入る値を受け取った変数でなく、 静的な文字列("*********")にするとどんなことをしようが 削除されることはないのですが、、、 GET変数ではそのようなことはできないのでしょうか。 どなたかお教えいただけますでしょうか。

    • ベストアンサー
    • PHP
  • PHPとMySQLによるデータ検索サイトを作ってます

    index.html(検索フォーム) list.php(検索結果表示ページ) 上記2ファイルでPHPとMySQLによるデータ検索サイトを作ってます。 初心者のため、勉強用に作ってます。 pearというライブラリを使用しないで以下の表現をするためにはどのようなコーディングが必要でしょうか? 参考になるサイトなどあればご教授ください。 PHPの上級者が見るようなマニュアルサイトだとその説明すら解読できない可能性があるので、噛み砕かれたサイトを探してます。 [知りたいこと] セレクト文で引っ張ってきたレコード数が25件として 検索結果表示ページには10件ごとに改ページさせたいです。 ↓このような改ページリンクを作りたいです。 [< 1 2 3 >] ↓またはこのようなリンクでもご教授いただけたら幸いです [前ページ│次ページ]

    • ベストアンサー
    • PHP

専門家に質問してみよう