2010-02-19 17 views
6

पर वैरिएबल पास करें क्या Google खोज सर्च इंजन में एक खोज चर पारित करना संभव है जिसे मैंने अपनी वेबसाइट पर एम्बेड किया है? मैं खोज इंजन को काम करने के लिए प्राप्त कर सकता हूं, लेकिन मैं इसे POST के माध्यम से एक शब्द (यह वेबसाइट के अन्य पृष्ठों पर एक खोज बटन से आ रहा है)Google कस्टम सर्च इंजन

मैंने यहां मिले कोड को हैक करने की कोशिश की: http://code.google.com/apis/ajax/playground/?exp=search#hello_world

और यही मैं अब तक है ...

<script type="text/javascript"> 
    google.load('search', '1', {language : 'en'}); 

    function OnLoad() 
    { 
     var customSearchControl = new google.search.CustomSearchControl('***my key****'); 
     customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); 
     customSearchControl.draw('cse'); 
     searchControl.execute("$q"); 
    } 
    google.setOnLoadCallback(OnLoad); 
</script> 

धन्यवाद

उत्तर

5

क्षमा करें ($ q अवधि मैं इसे करने के लिए गुजर रहा है) है, मुझे पता है यह एक भद्दा जवाब है, लेकिन आप ' वास्तव में गलत चर नाम का संदर्भ देने के अलावा इसे सही मिला है। ओह, भी, एक अलग रूप में के रूप में, मैं यह भी आशा करता हूं आप $ q पर sanitisation किसी तरह कर रहे हैं, इस मामले में किसी को अपने फार्म के लिए कुछ इस तरह तैनात: शब्द "); चेतावनी (" अहा

customSearchControl.draw('cse'); 
    searchControl.execute("$q"); 

होना चाहिए:

customSearchControl.draw('cse'); 
    customSearchControl.execute("$q"); 

इसके अलावा, प्रश्न के लिए धन्यवाद - मैं यह कैसे अपने आप को ऐसा करने के लिए के लिए देख रहा था

+0

धन्यवाद !! मैं इस पर अपने बालों को खींच रहा हूं, और यह पूरी तरह से काम किया। एक बार फिर धन्यवाद! – Matt

2

यह किसी पीएचपी यह एक ही लक्ष्य को पूरा करने की कोशिश कर का उपयोग कर मदद करने के लिए है, उदाहरण के ऊपर!। उपयोग करता है ...

customSearchControl.execute("$q"); 

पैरामीटर में गुजरता जा रहा है पढ़ने के लिए। एक PHP साइट पर आप का प्रयोग करेंगे पर ...

customSearchControl.execute("<?php echo $_POST['your_paramter_name_here'];?>"); 

आप अगर अपने पैरामीटर पोस्ट में नहीं है $ _GET या $ _REQUEST इस्तेमाल कर सकते हैं।

बेशक आपको पहले इनपुट को स्वच्छ करना चाहिए। कुछ इस तरह सुंदर कमजोर है, लेकिन यह एक शुरुआत है ...

customSearchControl.execute("<?php echo htmlentities(trim($_POST['your_paramter_name_here']), ENT_QUOTES);?>"); 
1

मामले में किसी को/सरल उपाय थोड़ा की तलाश में है और अधिक सीधे आगे। आपको बस इतना करना है कि q नामक जीईटी पैरामीटर में खोज कीवर्ड पास करना है (अपने कस्टम फॉर्म से जहां आपका जीसीएस है), जीसीएस स्वचालित रूप से उस खोज वाक्यांश का उपयोग करेगा।

स्रोत: https://developers.google.com/custom-search/json-api/v1/using_rest

+0

क्या एक सुंदर बस समाधान है। 'site.com/search? q = query'' उस क्वेरी के साथ automatilly खोज करेगा। धन्यवाद! –

संबंधित मुद्दे