2012-04-26 18 views
0

我一直在試圖建立一個基本的搜索腳本。有很多麻煩。我需要搜索表單和搜索結果爲兩個單獨的頁面。該腳本不起作用。試圖創建一個PHP搜索腳本

搜索腳本將我帶到search_result頁面,但輸入爲空。

enter image description here

<html> 
<body> 

<form action="search_result.php" method="POST"> 
<input type="text" name="reg" /> 
<input type="submit" value="Search" /> 
</form> 

</html> 
</body> 

第2頁:

<html> 
<body> 


<?php 
$host="localhost"; 
$username="XXXXXXXXXXX"; 
$password="XXXXXXXXXXX"; 
$db_name="XXXXXXXXXXXX"; 
$tbl_name="reg_add"; 
mysql_connect("$host", "$username", "$password") or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 


$record = $_POST['record']; // if coming from e.g. a form 
$result=mysql_query(" SELECT * FROM reg_add WHERE reg='" . mysql_real_escape_string($record) . "'"); 


$row = mysql_fetch_assoc($result); 
$first_name = $row['first_name']; 
$last_name = $row['last_name']; 
$reg = $row['reg']; 
?> 



<input name="reg" value="<? echo "$record" ?>"> 

<input name="first_name" value="<? echo "$first_name" ?>"> 

<input name="last_name" value="<? echo "$last_name" ?>"> 

</body> 
</html> 
+2

它以什麼方式不起作用?錯誤?預期與實際結果是什麼? – Cfreak 2012-04-26 15:40:48

+3

你沒有說任何有用的問題,這兩個腳本似乎沒有連接(第一個在reg key上提交$ _GET中的內容,第二個希望在記錄鍵上的$ _POST中有一些內容) – mishu 2012-04-26 15:42:25

+0

搜索腳本將我帶到search_result頁面,但輸入是空的。 – Erik 2012-04-26 15:49:37

回答

1

看起來你正在尋找$_POST['record']但經過$_GET['reg']

除此之外搜索不是很好,這是隻有找到確切的reg才能找到它,那是你需要的嗎?

+0

是的。我只想找到哪個是主場。我有大約40個與關鍵記錄相關的其他領域。 – Erik 2012-04-26 15:51:05

+0

我更新了腳本,但它不起作用。我添加了結果的圖片。 – Erik 2012-04-26 15:57:55

+0

如果您沒有獲得輸出,則不能設置「$ record」。我再次看到你已經將它從GET更改爲POST,但字段名仍然是'reg',而不是'record'。所以要確定你已經將'$ record = $ _POST ['record'];'行更改爲'$ record = $ _POST ['reg'];' – Nick 2012-04-26 16:00:49

1

HTML表單提交方法是GET,你試圖在POST方法中檢索它。更改任何一個,並檢查表單元素的鍵/名稱屬性。 `

<form action="search_result.php" method="POST"> 
<input type="text" name="record" /> 
<input type="submit" value="Search" /> 
</form> 
+0

我更新了腳本,但它不起作用。我添加了結果的圖片。 – Erik 2012-04-26 15:56:53

+0

你沒有檢索你發佈的內容。您更新的代碼仍然不正確。如果您使用** reg **作爲名稱提交文本字段值,則可以使用'$ _POST ['reg']'檢索。我能看到的是你正在使用'$ _POST ['record']'。只需將您的表單替換爲我發佈的表單即可。這應該工作。獲得正確的數據後,如果您的腳本沒有顯示任何意味着您的查詢有問題或沒有記錄可能存在。最簡單的調試方法是'$ _POST',只需使用'print_r($ _ POST);'。 – SachinGutte 2012-04-26 16:07:48