• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クリックされた画像URLの照合)

クリックされた画像URLの照合

このQ&Aのポイント
  • PHPとSQLを使って、クリックされた画像URLとデータベース内の画像URLを照合する方法について教えてください。
  • 初心者でもわかるように、クリックされた画像とデータベース内の画像を照合するためのサンプルコードを教えてください。
  • クリックされた画像URLとデータベース内の画像URLを比較する方法を教えてください。

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 check.phpを以下に掲載します。 DBの接続部分等は置き換えてください。 (当環境はPEARのMDB2を利用しデータベースはmySQL) link先のURLに画像パスを含めることでどの画像であるかわかりますのでそれを受け取ってDBと照合します。 <a href="./check.php?url=images/sample5.png"><img src="images/sample5.png" width="200" height="200" alt="sample" /></a> ※この場合images/sample5.pngが渡されます。 ==== check.php <?php require_once 'class/db/MyDataBase.inc'; $myDB = new MyDataBase(); $db = $myDB->connect(); $url = isset ( $_GET['url'] ) ? htmlspecialchars($_GET['url']) : null; $isImage = false; if ( !is_null($url) ) { $sql = "select URL from OKWAVE_Q7294411 where URL=?"; $stmt = $db->prepare ( $sql ); $result = $stmt->execute ( array($url) ); // 指定されたパスでレコードが1件取得できた場合はisImage=trueとする $isImage = $result->numRows() == 1; } session_start(); // isImageの値によりメッセージを設定 $_SESSION['msg'] = $isImage ? '一致しました' : '×'; // 呼び出し元に戻る header ( 'Location: ./' ); exit; ?>

turmeric8
質問者

お礼

ありがとうございます! これを元に試行錯誤してなんとか完成させてみます。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 可能か不可能かで言えば可能です。 SQLとはデータベースのことだと思いますが、具体的に分からないところはどこでしょうか? ・DBとの接続や照合(SQLの使い方) ・どうやって画像のパスを渡すのか ・その他 一応以下にサンプルを用意しました。 見てみてわからないところを補足してください。 ==== 動作確認サンプル http://hppg.moe.hm/okwave/qa/q7294411/ 上の画像は一度画面遷移が入るため、ページがリロードされます。 check.phpに対してurl=xxxで画像パスを渡して、DBに存在するかチェックし、メッセージをセッションにセットして戻ってきます。 戻ってきたらセッションよりメッセージを取得してalertメッセージを表示します。 下の画像はAjaxという方法を利用してcheck2.phpに対してurl=xxxで画像パスを渡して、DBに存在するかチェックし、JSONという形式でデータを返します。 返ってきたステータス値でalertメッセージを表示します。

turmeric8
質問者

お礼

ありがとうございます。 ページまで作っていただいて、とても具体的でわかりやすいです! ajaxはまだ全く触ったことないので理解できませんが ページ転移のほうはまさしく自分が求めていたものです! しかし、ここからどうデータベースに画像パスを渡せば良いのかがわかりません。 もしよろしければcheck.phpのソースも教えていただいてよろしいでしょうか? お返事お待ちしております。

関連するQ&A