サイト内にGoogleサイトを表示する方法

このQ&Aのポイント
  • PHPでメタサーチを作成し、複数の検索サイトから選択した値を送る
  • Googleの検索結果が表示されなくなり、iframeに問題があるか確認したが変化なし
  • Googleの公式サイトを表示する他の方法はあるか
回答を見る
  • ベストアンサー

サイト内にGoogleサイトを表示する方法

こんにちは。 先日からPHPでメタサーチを作っています。 先日の質問 http://okwave.jp/qa/q7027045.html 複数の検索サイト(Yahoo!、Google等)から選択し、 検索窓に入力した値を検索サイトに送り、 iframe内に表示するようにしました。 しかし本日の昼頃から、Googleの検索結果が表示されなくなりました。 IE9では 「この Web サイトに入力する情報のセキュリティを保護するため、このコンテンツの発行者はフレーム内での表示を許可していません。」 と表示され、 FireFox、chromeではエラーすら表示されません。 iframeに問題があるのでしょうか? objectタグ使用でも変化がなく、 php includeでも表示されませんでした。 Googleの公式サイトを表示する、他の方法がありますでしょうか? ご教示お願い致します。 以下、ソースです。 search5.php <?php if (isset($_GET["keyword"])){ $keyword=$_GET["keyword"]; }else{ $keyword=""; } $keyword4url=urlencode($keyword); ?> <?PHP if (isset($_COOKIE["chk_1"])){ $checked["chk_1"]=" checked"; }else{ $checked["chk_1"]=""; } if (isset($_COOKIE["chk_2"])){ $checked["chk_2"]=" checked"; }else{ $checked["chk_2"]=""; } print_r($_COOKIE); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> function P1(w1){parent.frame1.location.href=w1} function setCookie(key,val,url){ tmp = key+"="+escape(val)+";"; tmp += "expires=Fri, 31-Dec-2030 23:59:59;"; if(url){ tmp += "domain="+getDomain(url)+";"; tmp += "path="+getDomainPath(url)+";"; } document.cookie = tmp; }; function delCookie(key){ expiredate = new Date(); expiredate.setYear(expiredate.getYear()-1); tmp = key+"=;"; tmp += "expires="+expiredate.toGMTString(); document.cookie = tmp; }; function set_cookie_radio(){ delCookie("chk_1"); delCookie("chk_2"); if(document.getElementById("chk_1").checked) setCookie("chk_1","1"); if(document.getElementById("chk_2").checked) setCookie("chk_2","1"); } function del_cookie_radio(){ delCookie("chk_1"); delCookie("chk_2"); } </script> </head> <body> <center> <form action="search5.php" method="get"> キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()"> を <input type="submit" value="検索する"> </form> <form> <input type="button" value="クッキー削除" onclick="del_cookie_radio()"> </form> <form> <input id="chk_1" type="radio" name="RB1" onClick="P1('http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>');set_cookie_radio()" <?PHP echo $checked["chk_1"];?>>Yahoo! <input id="chk_2" type="radio" name="RB1" onClick="P1('http://www.google.co.jp/#q=<?php echo $keyword4url; ?>');set_cookie_radio()" <?PHP echo $checked["chk_2"];?>>Google </form> <iframe src="http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>" name="frame1" frameborder="1" scrolling="auto" width="977" height="600"> </iframe> </center> </body> </html>

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

  • ベストアンサー
  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.1

>「この Web サイトに入力する情報のセキュリティを保護するため、このコンテンツの発行者はフレーム内での表示を許可していません。」 単純にGoogleから拒否されてるのでは? 拒否されていないにしても、そのようなものは作るべきではありません。 Google ブランドの第三者使用に関するガイドライン http://www.google.co.jp/permissions/guidelines.html 上記ページの禁止事項に、 Google のページ(Google ロゴまたは Google 検索ボックスをクリックしたときに表示されるページを含む)をフレーム内に表示することやミラーリングすることは避けてください。 と書かれてあります。 Googleに限らず、フレームを用いて第三者のページ内に自社ページを組み込まれることを嫌う場合がほとんどではないでしょうか。 ちなみにYahoo!のヘルプは↓こちら http://help.yahoo.co.jp/help/jp/common/view/view-51.html

tomorrow_005
質問者

お礼

それもそうですね。 別の方法を考えます。 ありがとうございました。

関連するQ&A

  • radio選択をクッキーに保存させる方法について

    こんにちは。 PHPでメタサーチを作っています。 複数の検索サイト(Yahoo!、Google等)から選択し、 検索窓に入力した値を検索サイトに送り、 iframe内に表示するようにしました。 さらに、サイトに再訪問時に、 ラジオボタンのの選択を前回と同様にしたいと思っています。 しかし、ラジオボタンのcookie保存・読み込みがうまくいきません。 PHP、JavaScript、jQueryと、様々な方法を試してみたのですが、 うまくいかず、よくわからなくなってきました。 値の取得方法に問題があるのでしょうか? ご教示お願い致します。 ※現在、jQuery使用でプログラムを組もうとしていますが、 PHPで可能であれば、その方法でもかまいません。 search4.php <?php $keyword=$_GET["keyword"]; $keyword4url=urlencode($keyword); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="jquery-1.6.4.js"></script> <script type="text/javascript" src="jquery.cookie.js"></script> <script type="text/javascript"> function P1(w1){parent.frame1.location.href=w1} //チェック状態保存 function saveChk(){ for(var i=1;i<3;i++){ if($("#chk_"+i).attr("checked")){ $.cookie('chk_'+i,'1'); } else{ $.cookie('chk_'+i,null); } } } //チェック状態読み込み function initChk(){ for(var i=1;i<3;i++){ if($.cookie('chk_'+i)){ $("#chk_"+i).attr("checked",true); } } } //ページ表示時 $(function($){ initChk(); }); </script> </head> <body> <center> <form action="search4.php" method="get"> キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()"> を <input id="chk_1" type="radio" name="RB1" onClick="P1('http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>');saveChk();" checked>Yahoo! <input id="chk_2" type="radio" name="RB1" onClick="P1('http://www.google.co.jp/#q=<?php echo $keyword4url; ?>');saveChk();">Google で <input type="submit" value="検索する" onclick="saveChk();"> </form> <br> <iframe src="http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>" name="frame1" frameborder="1" scrolling="auto" width="977" height="600"> </iframe> </center> </body> </html>

  • PHPでの検索

    初心者です。 ネットもさがしてみたのですが下記の意味がイマイアチわかりません。 <form name="form2" action="search.php" method="post"> <input type="text" name="keyword" size="25" value="<?= $keyword ?>"> <input type="submit" name="search" value="検索"><br /> <input type="radio" checked name="searchSelect" value="AND">AND  <input type="radio" <?= ($searchSelect == "OR")? "checked" : "" ?> name="searchSelect" value="OR">OR </form> (1)<form name="form2" action="search.php" method="post"> 検索ボタンを押すと「action="search.php"」が起動します。  どういう仕組みなのでしょうか。 (2) <input type="text" name="keyword" size="25" value="<?= $keyword ?>">  作者の説明で、  『前の画面でテキストボックスに入力した値を、デフォルトで表示しています。  <input type="text" name="keyword" size="25" value="<?= $keyword ?>">』  となっていますが、value="<?= $keyword ?>"でなぜそうなるのでしょうか。  また、<?= $keyword ?>の<?= ?>構文はどのような機能があるのでしょうか。 (3)<input type="radio" checked name="searchSelect" value="AND">AND  「value="AND">AND」の右側の「AND]はどういう意味でしょうか。 (4)<input type="radio" <?= ($searchSelect == "OR")? "checked" : "" ?> name="searchSelect" value="OR">OR  作者の説明で、  『(6)前の画面でORラジオボタンが選択されていた場合は、選択(checked)します。  <input type="radio" <?= ($searchSelect == "OR")? "checked" : "" ?> name="searchSelect"  value="OR">OR』  とありますが、<?= ($searchSelect == "OR")? "checked" : "" ?>でなぜそういうことができているのでしょうか。  また、『"checked" : 』の『:』は何の役目をしているのでしょうか。 上記4つの質問でどれでもいいですのでどなたかお教え願えないでしょうか。

    • 締切済み
    • PHP
  • phpでフォームの値をフレームに渡す際、&が使えず

    こんにちは。 PHPで、メタサーチのようなものを作ろうと思っています。 まず、検索窓に入力した値をGoogle検索に送り、 iframe内に表示するようにしました。 しかし、「PHP 入門」など、通常のキーワードであればうまくいくのですが、 「P&G」など、「&」が入ると、勝手にアンド検索になってしまい、うまく機能しません。 値の送り方に問題があるのでしょうか? ご教示お願い致します。 search1.php <?php $keyword=$_GET["keyword"]; $keyword4url=urlencode($keyword); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body> <center> <form action="search1.php" method="get"> キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()"> を <input type="submit" value="検索する"> </form> <br> <iframe src="http://www.google.co.jp/#q=<?php echo $keyword; ?>" name="frame1" frameborder="1" scrolling="auto" width="977" height="600"> </iframe> </center> </body> </html>

    • ベストアンサー
    • PHP
  • 大量のcheckboxにcheckedを入れる

    チェックボックスが50個あります。 送信ボタンを押して元のページを再度開きます。 そのときにチェックしたボックスにチェックを入れた状態にしたいです。 inputタグの中に<?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>を入れていますが単調になってしまいます。 単調にならずにする方法はありますか? <input type="checkbox" name="chk1[]" value="a1" />の場合はインデックスが固定でないのでできませんでした。 その他いけない箇所があれば教えて下さい。 お願いします。 <?php if(isset($_GET["chk1"])){ $checkbox1 = $_GET["chk1"]; for($i=0; $i<sizeof($checkbox1); $i++){ print $checkbox1[$i]."<br />"; } } if(isset($_GET["chk2"])){ $checkbox2 = $_GET["chk2"]; foreach($checkbox2 as $key => $val){ print $val."<br />"; } } ?> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form method="get" action="checkbox.php"> <input type="checkbox" name="chk1[]" value="a1" /> <input type="checkbox" name="chk1[]" value="a2" /> <input type="checkbox" name="chk1[]" value="a3" /> <input type="checkbox" name="chk1[]" value="a4" /> <input type="checkbox" name="chk1[]" value="a5" /> <input type="checkbox" name="chk1[]" value="a6" /> <input type="checkbox" name="chk1[]" value="a7" /> <input type="checkbox" name="chk1[]" value="a8" /> <input type="checkbox" name="chk1[]" value="a9" /> <input type="checkbox" name="chk1[]" value="a10" /> <br /> <input type="checkbox" name="chk2['b1']" value="b1" <?php if(isset($checkbox2) && in_array('b1',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b2']" value="b2" <?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b3']" value="b3" <?php if(isset($checkbox2) && in_array('b3',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b4']" value="b4" <?php if(isset($checkbox2) && in_array('b4',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b5']" value="b5" <?php if(isset($checkbox2) && in_array('b5',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b6']" value="b6" <?php if(isset($checkbox2) && in_array('b6',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b7']" value="b7" <?php if(isset($checkbox2) && in_array('b7',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b8']" value="b8" <?php if(isset($checkbox2) && in_array('b8',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b9']" value="b9" <?php if(isset($checkbox2) && in_array('b9',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b10']" value="b10" <?php if(isset($checkbox2) && in_array('b10',$checkbox2)){echo ' checked';} ?>/> <br /> <input type="submit" value="送信" /> </form> </body> </html>

    • 締切済み
    • PHP
  • チェックボックスの初期選択と選択保持

    複数のチェックボックスのうちどれかを初期選択させ、ボタン押下後は選択保持をさせたいです。 片方のみならできるのですが、どなたかご教授いただけるとうれしいです。 現在のソースはこんな感じになっていて選択したものの保持はできるのですが、初期選択ができていません。よろしくおねがいします。 <html> <body> <form name="form" method="post"> <?php test1() ?> test1 <?php test2() ?> test2 <?php test3() ?> test3<br><br> <input type="submit" name="button" value="button"> </form> <?php function test1(){ if ($_POST['test1']){ echo "<input type=\"checkbox\" name=\"test1\" checked>"; }else{ echo "<input type=\"checkbox\" name=\"test1\">"; } } function test2(){ if ($_POST['test2']){ echo "<input type=\"checkbox\" name=\"test2\" checked>"; }else{ echo "<input type=\"checkbox\" name=\"test2\">"; } } function test3(){ if ($_POST['test3']){ echo "<input type=\"checkbox\" name=\"test3\" checked>"; }else{ echo "<input type=\"checkbox\" name=\"test3\">"; } } ?> </body> </html>

    • 締切済み
    • PHP
  • フォームの内容をクッキーに保存する

    IDをフォームに記入してクッキーに保存し、別ページで使用しようとしています。 フォームに入力してsubmit(onclickでCookieに保存)しようとすると、 1回遅れでCookieに保存されます。 (前々回保存した内容がCookieに保存される) POSTを変数に入れる順番がおかしいのでしょうか? ご教示お願い致します。 以下ソースです。 setid.php <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> <!-- // Cookie設定 // Cookie送信function function setCookie(key,val,url){ tmp = key+"="+escape(val)+";"; tmp += "expires=Fri, 31-Dec-2030 23:59:59;"; if(url){ tmp += "domain="+getDomain(url)+";"; tmp += "path="+getDomainPath(url)+";"; } document.cookie = tmp; location.reload(true); }; // Cookie削除function function delCookie(key){ expiredate = new Date(); expiredate.setYear(expiredate.getYear()-1); tmp = key+"=;"; tmp += "expires="+expiredate.toGMTString(); document.cookie = tmp; }; // Cookie削除(削除ボタン用) function del_cookie_id(){ delCookie("testid"); location.reload(true); } //--> </script> </head> <body> <center> <!-- ID入力フォーム --> <?php // Cookie読込み-ID $testid=$_COOKIE["testid"]; ?> <form action="setid.php" method="post"> <input type="text" name="testid" size="20" value="<?php echo $testid; ?>"> <!-- ID保存ボタン --> <?php $testid=$_POST["testid"]; ?> <input type="submit" name="set_id" value="IDを保存" onclick="setCookie('testid','<?php echo $testid; ?>');"> <!-- ID削除ボタン --> <input type="submit" name="del_id" value="IDを削除" onclick="del_cookie_id()"> </form> <br> <!-- Cookie表示 --> <?php print_r($_COOKIE); ?> <br> </body> </html>

    • ベストアンサー
    • PHP
  • cookieでチェックボックスの状態を保存したい

    保存ボタンを押すと、チェック状態をcookieで保存する機能を実装したいと考えています。 <form name="frmOutput" method="get" action="#"> <input name="time[]" type="checkbox" value="morning" id="morning" <?php if (in_array('morning', $times)) {?>checked="checked"<?php } ?> > <label for="morning">朝</label> <input name="time[]" type="checkbox" value="noon" id="noon" <?php if (in_array('noon', $times)) {?>checked="checked"<?php } ?> ><label for="noon">昼</label> <input name="time[]" type="checkbox" value="evening" id="evening" <?php if (in_array('evening', $times)) {?>checked="checked"<?php } ?> ><label for="evening" >夜</label> <input type="submit" name="submit_1" value="保存" onClick="recordTime(); return false;" /> この保存ボタンを押すと、JavaScriptで書いたrecordTimeで、チェックされているcheckboxの値を取得します。 <script src="./jquery.js" type="text/javascript"></script> <script language="JavaScript"> <!-- function recordTime() { var checkList = new Array(document.getElementById('morning'), document.getElementById('noon'), document.getElementById('evening')); var times = new Array(); for (i = 0; i < checkList.length; ++i) { if (checkList[i].checked) { times.push(checkList[i].value); } } $.get("./index.php", { "time[]": times, "record": 1 }); } --> </script> 値がセットされていればcookieに書き込みを行い、リロードすると保存時のチェック状態が再現されます。 <?php if (isset($_GET['record'])) { $times = $_GET['times']; $tmp = serialize($times); echo $tmp; setcookie('times', $tmp, time() + 30 * 60*60*24); exit; } $tmp = $_COOKIE['times']; $tmp = stripslashes($tmp); $times = unserialize($tmp); if ($times === false) { echo "unserialize failed."; } ?> 以上のコードなのですが、うまくcookieに保存されません。 これとは別にcookieを削除するボタンも作っており、 この削除ボタンでcookieの有効期限を過去にして削除してから、 動作がおかしくなったように感じていますが、 原因がはっきり分かりません。 知識を持っておられる方がいらっしゃれば、 教えて頂ければ助かります。 よろしくお願いしますm(__)m

  • ラジオボタンの選択項目によってコメントを表示する方法

    ラジオボタンの「Yes・No」にチェックすると、チェックした項目別に欄外にコメントを表示するページを作成しました。 初心者のため、Q1~Q15までcheckの方法を延々と書いたのですが、もっと簡単に書く方法はありますでしょうか? 参考にQ1・Q2の分を掲載させていただきます。 ぜひ、教えてください。よろしくお願いいたします。 <SCRIPT language="JavaScript"> <!-- function check(){ if (document.form1.q1[0].checked){ document.form1.q1com.value="減量しましょう"; } if (document.form1.q1[1].checked){ document.form1.q1com.value="引き続き注意を"; } if (document.form1.q2[0].checked){ document.form1.q2com.value="再検査を受けましょう!"; } if (document.form1.q2[1].checked){ document.form1.q2com.value="チェックしましょう"; } // --> </SCRIPT> <INPUT type="radio" name="q1"> Yes <INPUT type="radio" name="q1"> No <INPUT size="41" type="text" name="q1com"> <INPUT type="radio" name="q2"> Yes <INPUT type="radio" name="q2"> No <INPUT size="44" type="text" name="q2com"> <INPUT type="button" value=" 診断ボタン " onclick="check();>

  • java script フォームのチェックボックス入力制限について

    java script フォームのチェックボックス入力制限について どなたかお教えください。 以下のコードを書き換えて、現状では1つのチェックボックスを複数にし(かつ、複数選択可にし)、チェックボックスをチェックした場合のみ「選択肢」ラジオボタンがアクティブになる仕様にしたいと考えております。 サイト上で見つけたサンプルコードをいじっているのですが、何分素人なのでうまく行きません。どなたか助けていただけると助かります。 よろしくお願いします。 <script type="text/javascript"> function fchk3(obj){ var frm=obj.form; var len=frm.elements.length; if(obj.checked==true){ for(var i=0; i<len; i++){ if(frm.elements[i].type=="radio"){ frm.elements[i].disabled=false; } } }else{ for(var i=0; i<len; i++){ if(frm.elements[i].type=="radio"){ frm.elements[i].checked=false; frm.elements[i].disabled=true; } } } } </script> <form name="form3" action="#"> <label for="chk3"><input type="checkbox" id="chk3" name="chk3" onclick="fchk3(this)" checked="checked" />このボタンのチェックを外すとラジオボタンが無効化</label><br /> <label for="chk3_r1"><input type="radio" id="chk3_r1" name="r1" />選択肢</label> </form>

  • キーワード検索でスクリプトを使用しない方法は!?

    <SCRIPT LANGUAGE="PHP"> // 検索用関数 Function Search_Pattern($record,$pattern) { for($loop = 0;$loop < count($pattern);$loop++) { if($pattern[$loop] == "") continue; if(!ereg($pattern[$loop],$record)) return 0; } return 1; } // メインプログラム if($search) { if(!$keyword) { $error = "キーワードが入力されていません"; $search = ""; } } if($search) { $fp = @fopen("search_csv.csv","r"); if(!$fp) { $error = "該当ファイルを参照できません"; $search = ""; } } </SCRIPT> <HTML> <HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=SHIFT-JIS"> <TITLE>ファイル簡易検索</TITLE> </HEAD> <BODY> <B>ファイル簡易検索</B> <BR> <CENTER> <FORM ACTION="search_csv.php" METHOD="post"> <INPUT TYPE="hidden" NAME="search" VALUE="検索する"> キーワード: <INPUT TYPE="text" NAME="keyword" VALUE="<? echo $keyword; ?>" SIZE="30"> <INPUT TYPE="submit" NAME="search" VALUE="検索する"> </FORM> <FONT COLOR="#FF0000"><? echo $error; ?></FONT> <HR> <P> <SCRIPT LANGUAGE="PHP"> if($search) { echo "<TABLE BORDER=1>\n"; while(!feof($fp)) { $buff = fgets($fp,255); $title .= $buff; if(ereg("\n",$buff)) break; } $title = ereg_replace("\x0A","",$title); $column = split(",",$title); echo "<TR>\n"; for($loop = 0;$loop < count($column);$loop++) { echo '<TD BGCOLOR="#00FFFF" NOWRAP>',$column[$loop],"</TD>\n"; } echo '<TD BGCOLOR="#00FFFF" NOWRAP>'; echo '詳細'; echo "</TD>\n"; echo "</TR>\n"; $keyword = ereg_replace(" "," ",$keyword); $pattern = split(" ",$keyword); while(1) { $line = ""; while(!feof($fp)) { $buff = fgets($fp,255); $line .= $buff; if(ereg("\n",$buff)) break; } if($line == "") break; if(!Search_Pattern($line,$pattern)) continue; $line = ereg_replace("\x0A","",$line); $column = split(",",$line); echo "<TR>\n"; echo "<FORM method=\"post\" action=\"./formdb_modify.php\">\n"; echo "<INPUT type=\"hidden\" name=\"data_no\" value=\"".$column[0]."\">\n"; for($loop =0; $loop< count($column);$loop++) { echo "<TD nowrap><FONT size=-1>" . $column[$loop] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[1] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[2] . "</FONT></TD>\n"; //echo "<TD nowrap><FONT size=-1>" . $column[3] . "</FONT></TD>\n"; } echo "<TD nowrap><INPUT type=\"submit\" value=\" 詳細\"></TD>\n"; echo "</FORM>\n"; echo "</TR>\n"; } fclose($fp); echo "</TABLE>\n"; } else { echo "キーワードを入力し、検索ボタンを押すと検索結果がここに表示されます。\n"; } </SCRIPT> <P> <FONT SIZE=2><I> Copyright (C) 2009 All right reserved by <A HREF="http://ameblo.jp/access-db/">Access Company</A> </I></FONT> </CENTER> </BODY> </HTML> 上記、スクリプトを使用しての検索ですが スクリプトを使用せずにphpだけで検索できないでしょうか?

    • 締切済み
    • PHP

専門家に質問してみよう