2011-03-20 19 views
2

を動作することはできませんtest.htmlというファイルのコードです:Googleのカスタム検索はここ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-hans" xml:lang="zh-hans"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>test</title> 
</head> 
<body> 
    <div class="fr_search">   
     <form action="cse.php" accept-charset="UTF-8" method="post" 
       id="search-theme-form">  
      <input type="text" maxlength="128" name="search_theme_form" 
       id="edit-search-theme-form-1" size="15" value="" class="form-text" /> 
      <input type="image" name="submit" id="edit-submit" 
       class="form-submit" src="images/search_btn_top.gif" /></div> 
     </form> 
    </div> 
</body> 
</html> 

私はhttp://www.google.com/cse/manage/create?hl=enによって生成されたコードを置きます。私が入力した 「検索するサイト」はhttp://stackoverflow.comでした。私は生成されたコードをcse.phpに入れます。次に、cse.phpとtest.htmlをローカルのphp環境に配置します。検索テキストボックスに「php」というテキストを入力して検索ボタンをクリックしたとき。しかし、私の検索結果ページには何の結果もありません。ステップとコードに何が問題なのですか?ありがとうございました。ここで

はcse.phpファイルのコードです:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>test search</title> 
</head> 
<body> 
    <script src="http://www.google.com/jsapi" type="text/javascript"></script> 
    <script type="text/javascript"> 
    google.load('search', '1', {language : 'en'}); 
    google.setOnLoadCallback(function() 
    { 
     var customSearchControl = new google.search.CustomSearchControl ('011247711644571852159:xe2ytn1hwsa'); 
     customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); 
     customSearchControl.draw('cse'); 
    }, true); 
     </script> 
     <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" 
      type="text/css" />  
<?php echo 'test'; ?> 
</body> 
</html> 
+1

PHPファイルには何がありますか? – Blender

+0

不十分な魔法。あなた自身のコードを挿入しようとする前に、サイトはGoogleデモで動作しましたか? –

+0

私はPHPのファイルコードを追加しました。 – runeveryday

答えて

0

は、ビットを検索するためのサイトでhttp://を取り除きます。

1

コードの開始位置はわかりませんが、Custom Search code generatorの新しいコードスニペットでは、CustomSearchControlにクエリ文字列を渡すことができます。 (そこにはPHPは、この段階ではありませんが)

<div id="cse">Loading&hellip;</div> 
<script src="http://www.google.com/jsapi"></script> 
<script> 

    // Extract user's query from the URL 
    function getQuery() { 
     var url = '' + window.location; 
     var queryStart = url.indexOf('?') + 1; 
     if (queryStart > 0) { 
      var parts = url.substr(queryStart).split('&'); 
      for (var i = 0; i < parts.length; i++) { 
       if (parts[i].length > 2 && parts[i].substr(0, 2) == 'q=') { 
        return decodeURIComponent(parts[i].split('=')[1].replace(/\+/g, ' ')); 
       } 
      } 
     } 
     return ''; 
    } 

    google.load('search', '1', {language:'en' }); 
    google.setOnLoadCallback(function() { 
     var cseControl = new google.search.CustomSearchControl('ID_GOES_HERE'); 
     cseControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); 
     cseControl.draw('cse'); 
     // Execute a query based on the query string 
     cseControl.execute(getQuery()); 
    }, true); 
</script> 

ので、例えばそれは、あなたのcse.phpページに行くだろうなど、あなたの最初のページのフォーム何か:コードはfrom hereを借りして、このようなものは動作するはず

<form action="cse.php" method="get"> 
    <input name="q"> <input type="submit"> 
</form> 
関連する問題