2013-02-23 38 views
0

有人可以幫助我有我的網站上的用戶,當用戶點擊他們的個人資料時,它需要用戶profile.php?id =(無論身份證號碼)如果profile id = 1不包含profile.php?

我想讓它,以便如果用戶試圖去配置文件ID ='1',那麼這將包括noprofile.php基本上告訴用戶該配置文件不存在。

我一直在做這似乎工作,但現在對於任何共振幾天後停止工作,我不知道爲什麼?

有人可以告訴我哪裏會出錯,謝謝。

代碼profile.php:

<?php 
$admin_account = admin_account(); 
while ($admin = mysql_fetch_array($admin_account)) { 
    include ('includes/mod_profile/mod_noprofile.php'); 

} 
?> 

功能:

function admin_account() { 
      global $connection; 
      global $profile_id; 
      $query = "SELECT user_id 
         FROM ptb_profiles 
         WHERE user_id =\"$profile_id\" 
         AND ptb_profiles.user_id='1'"; 
      $admin_account = mysql_query($query, $connection); 
      confirm_query($query, $connection); 
      return $admin_account; 
     } 
+0

你能解釋多選擇查詢,我不明白這是什麼意思:'WHERE user_id = \「$ profile_id \」AND ptb_profiles.user_id ='1''?你的意思是user_id必須同時等於$ profile_id和'1'嗎? – Boynux 2013-02-23 17:22:12

+0

我不確定你在* profile.php *中做了什麼。如果'$ profile_id'是1或者查詢什麼都不返回,你想顯示* mod_noprofile.php *。你實際做的是顯示* mod_noprofile.php *如果一個配置文件被發現(使用一段時間,而不是一個if)。 – Dehalion 2013-02-23 17:22:34

+0

我也希望你至少在'intval()'或'filter_input()'的代碼中的某個地方用'$ profile_id'轉義,以確保沒有人使用這個查詢進行SQL注入。在這裏使用準備好的聲明會更好...... – Dehalion 2013-02-23 17:25:01

回答

-1

做一個測試執行查詢之前,看看是否ID == 1

if isset($_GET["id"]==1){ 
    include ('includes/mod_profile/mod_noprofile.php'); 
} 
else { 
    //do query and get user profile information 
} 
相關問題