2010-09-29 54 views
0

是,所以我想,在搜索結果中,如果there's一個完全地匹配你輸入什麼,那麼就應該去profil.php ID = $行[ID]PHP:如果一個明確的成員,重定向到用戶配置文件

我試着這樣做:

$full_name = mysql_real_escape_string($_POST["search"]); 
$Matchy = $get["firstname"] . " " . $get["lastname"]; 
    if($full_name == $Matchy){ 
    echo "redirect me"; 
    } 

這是好嗎?它似乎工作,但也許有更好的解決方案來做到這一點?

我該如何重定向而不使用標題,因爲它已經開始在頂端..?

回答

0

當然,它會工作,只記得一些事情。

這將使用戶名(名)區分大小寫,有人會只輸入1個空間,他們就必須記得做名姓,而不是姓氏名字像有些人可能承擔的風險。根據您獲取$ get的方式,直接進行數據庫查找可能會更快,更高效。

編輯: 爲了使它們不敏感,你可以將它們小寫,或者將它們放置在比較低的位置或者比較小的位置。即

$full_name = strtolower(mysql_real_escape_string($_POST["search"])); 
$Matchy = strtolower($get["firstname"]) . " " . strtolower($get["lastname"]); 
+0

如何讓它們不敏感? $ get is while($ get = mysql_fetch_array($ result1)){ – Johnson 2010-09-29 18:52:33

+0

@ user457827我編輯了我的答案 – 2010-09-29 18:56:53

+0

好吧,最後,你如何重定向沒有頭? :P我應該使用JavaScript? – Johnson 2010-09-29 19:03:29

0
$full_name = mysql_real_escape_string($_POST["search"]); 
$Matchy = $get["firstname"] . " " . $get["lastname"]; 
    if($full_name == $Matchy){ 
    echo "redirect me"; 
    } 

這是一個做另一方式:(並考慮考慮蝰蛇的評論)

  1. 連接字符串
  2. 讓他們共同的情況下(低/上)
  3. 刪除它們中的空格。 < =這很重要,最終用戶可能會在名稱間的開始/結尾包含額外的空格。EG:而不是"Tom Cruise"我可能會寫入「Tom Cruise」,修剪會從兩端刪除空格,因此,您可以使用單獨的GET [FNAME]並得到[L-NAME]

$Matchy = trim(strtolower($get["firstname"])) . " " . trim(strtolower($get["lastname"])); 


if(strtolower($full_name) == $Matchy){ 
    echo "redirect me"; 
} 
+0

我刪除空格? – Johnson 2010-09-29 19:18:08

+0

檢查我的代碼.. str_replace刪除空格 – Stewie 2010-09-29 19:22:44

+0

@Stewie爲什麼在世界上你會刪除空格然後做一個比較?你將擁有不匹配的用戶名。 – 2010-09-29 19:29:41

相關問題