2011-06-13 73 views
0

我希望用戶篩選按類別搜索PHP搜索w /類別

我有3個PHP文件。一位叫searchbycity.phpsearchbystate.php,默認search.php

我的問題是,我將如何設置它,這樣我就可以點擊一個單選按鈕,在搜索欄 就知道與信息搜索該PHP文件?

以下是我擁有了整個單選按鈕的事情奠定了至今

<input type='text' size='70' name='search'> 
<input type='image' value='search' src='images/tickmark.png'></a><br> 
    Search by &nbsp; 
<input type="radio" onclick="eng = this.value;" checked name="sengines" 
    value="http://www.google.com/search?q=" /> 
    City 
<input type="radio" onclick="eng = this.value;" name="sengines" 
    value="http://www.altavista.com/web/results?q=" />State 

(忽略谷歌搜索和AltaVista的搜索,我從網站得到它:P)

+0

這似乎是一個JavaScript問題給我 – colinmarc 2011-06-13 23:01:53

+0

javascript?我將如何呼籲它? – 2011-06-13 23:04:47

+0

您可以使用一個文件完成所有操作。您的輸入必須包含在表單中,並且設置單選按鈕將簡單地爲查詢添加額外條件。 – 2011-06-13 23:08:41

回答

1

你可以寫這個HTML代碼(注意無線電字符串值與整數替代):

<form action="search.php" method="GET"> 
    <input type='text' size='70' name='search'> 
    <input type='image' value='search' src='images/tickmark.png'></a><br> 
    Search by &nbsp; 
    <input type="radio" onclick="eng = this.value;" checked name="sengines" 
    value="1" /> 
    City 
    <input type="radio" onclick="eng = this.value;" name="sengines" 
    value="2" />State 
    <input type="submit" /> 
</form> 

當用戶按下發送按鈕的search.php頁面將被執行(服務器端)。此頁可能包含以下代碼:

<?php 
    if(is_integer($_GET['sengines']) && is_string($_GET['search'])){ 

     switch($_GET['sengines']){ 

      case 1: include_once "searchbycity.php"; 
        searchByCity($_GET['search']); 
        break; 

      case 2: include_once "searchbystate.php"; 
        searchByState($_GET['search']); 
        break; 

     } 

    } 
?> 

因此,如果用戶選擇第一個單選按鈕的searchbycity.php文件,並呼籲searchByCity出現在文件中會被調用傳遞假設功能表單提交的$ _GET ['search']值。否則,將包括searchbystate.php文件和...邏輯將是模擬的。

注意:表單發送的數據必須使用filter functions進行消毒。在代碼中,使用is_integer和is_string函數進行第一級檢查。