インターネットショッピングサイトを作成運営しているWEBデザイナー(3年目)です。
タイトルのとおり、Amazonや楽天などに商品ページを閲覧すると左メニューに表示される「最新チェックした商品」欄を設けたいと思っています。
HTMLと簡単なJavaScriptは経験がありますが、CGIは初心者です。
CGIでできているものなのかもよくわかりません…。
サーバーにはCGIプログラムとSSIスクリプトが設置できます。
・クッキーを受け渡す程度のものなのか。
・もっと大規模な仕組みで簡単には実現できないものなのか。
・参考にできるサイト
を教えていただけませんか?
どれか一つだけでもOKです!
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ちょっと説明が不足していましたので、補足します。
ANo.1にも書きましたが、あくまでも、cookieなどを使うのは閲覧者が誰か特定するためです。
おっしゃるような方法、cookieに履歴データを保存しておいてそこから読み出せば、クライアント側で実現できる、という発想も悪いというわけではないですが、cookieに保存できるデータ量の限界や、そもそも使えない環境もあります。
そこで、サーバーサイドプログラムとして、サーバーのデータベースに履歴データを保存します。
なので、
> 1.閲覧者のページ履歴をcookieにする。
> 2.そのcookieをもとに商品ページとURLのデータベースを検索する。
> 3.結果を欄に表示する。
は、以下のようになります。
1.閲覧者を特定する(ユーザーIDを得る)。
2.そのユーザーIDをもとに、DBの「閲覧履歴テーブル」から抽出。
3.抽出結果を表示。
1の「閲覧者を特定する」方法として、cookieやセッションや、いわゆるチケット(たしかAmazonもこれだったと思いますが未確認)などがあります。
現在ショッピングサイトを運営されているとのことですが、そのシステムにもユーザーを特定する機能があるのではないでしょうか。もしあれば、たとえば購入者が誰なのか当然わかるようになっていますよね?それを、商品閲覧のときにも同じようにチェックしておいて、記録します。
閲覧履歴テーブル
=======================
ユーザーID 商品ID
-----------------------
USER_002 ITEM_001
USER_001 ITEM_002
USER_002 ITEM_005
USER_001 ITEM_001
USER_001 ITEM_004
USER_003 ITEM_002
USER_008 ITEM_001
=======================
のような感じに。
で、ページを表示する際に、何らかの方法(たとえばcookie)で「閲覧者が誰なのか?」だけわかれば、あとは上記テーブルから必要データを抽出して表示します。
tasekiさん、さらに詳しいご回答ありがとうございます!
cookieを勘違いしておりました…。
>そのシステムにもユーザーを特定する機能があるのではないでしょうか。
そうですよね、気が付きませんでした。
ネットショップの決済はサーバー側で提供しているものでメンテナンス画面でしか触っていなかったのですが、ファイルを探して読んでみます。
No.1
- 回答日時:
CGIなのかmodなのかASPなのか、などは別として、いずれにしてもサーバーサイドプログラムです。
cookieまたはセッションIDを使って、閲覧者が誰か特定し(ユーザーIDなど)、それをもとにサーバーに構築されているデータベースから情報を引き出して、表示します。
> もっと大規模な仕組みで簡単には実現できないものなのか
ちょっと意味が解りませんが、大規模な仕組みにしなくても、そもそも実現していること自体が、上記のような簡単な仕組みです。
初心者と言うことでしたら、まずはcookie、データベースについて、検索したり勉強されることをおすすめします。
やはりサーバーサイドプログラムなんですね。
データベースを構築して紐付けするということでしょうか。商品数は50にも満たないのでデーターベースを構築するのはそれほど大変ではなさそうです。
1.閲覧者のページ履歴をcookieにする。
2.そのcookieをもとに商品ページとURLのデータベースを検索する。
3.結果を欄に表示する。
という流れでしょうか。
> もっと大規模な仕組みで簡単には実現できないものなのか
曖昧な言葉ですみませんでした。
個人では実現できないものなのか、という意味でした。
tasekiさん、ご回答ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Amazon 新規でAmazon商品ページ作成方法について 1 2022/03/28 00:22
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- CGI 一番簡単なCGI,掲示板の設置教えてください 4 2023/08/22 10:47
- その他(ネットショッピング・通販・ECサイト) 11月1日に中国サイトで品物を購入しました私は何度もメールしていて4日に発送するとメールがあり5日の 6 2022/11/08 10:24
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Web・クリエイティブ 独学でwebデザイナーを目指すには 2 2022/09/17 16:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php 入力画面から確認表示画面...
-
フォームを使わずにPOST送信す...
-
php history.back()の戻るボタ...
-
htmlspecialcharsについて
-
POSTで受け渡したものを保存し...
-
switch()文で値の大小比較
-
PHPのセッション有効期限について
-
DTOとEntityの差は何ですか。
-
phpでcookieがうまく保存されない
-
wordの差し込み印刷で文字...
-
Dosブロンプトでtabを出力したい
-
アクセスの度にIPアドレスを変...
-
syntax error, unexpected 'ech...
-
「取得先」という表現について
-
バッチファイルでpingの結果を...
-
C++で特定のURLにアクセスする...
-
【C#】DataGridViewの最大列数...
-
.htaccessについて
-
URLのパラメータをGETのままで...
-
session_start()で生成されるセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ログイン画面から入って、「戻...
-
php 入力画面から確認表示画面...
-
IFRAME内PHPのセッション変数取...
-
php に関して質問です。 各ユー...
-
HTMLエスケープ処理とデーター...
-
POSTで受け渡したものを保存し...
-
「ページネーション」で検索キ...
-
VBAで重複チェックの仕方を教え...
-
PHPで返信メールにチェックボッ...
-
フォームを使わずにPOST送信す...
-
asp.netでのセッションを使用し...
-
飛び先のランダムURLの取得方法...
-
php history.back()の戻るボタ...
-
閉じるボタン「×」を制御したい
-
ブラウザの戻るボタンで重複登...
-
ウェブアプリの設計に問題がな...
-
ブラウザバックしてもチェック...
-
ページに時間制限
-
PHPで値を保持する方法
-
パスワード認証後の、以降のペ...
おすすめ情報