2014-10-05 68 views
0

我可能不知道我在說什麼,但我會試一試。會話ID如何找到當前用戶ID

我希望此代碼將輸入「mysite.com/earth.php」的用戶的此http://prntscr.com/4t9a4u值更新爲3。不適合其他人。僅供進入此頁面的用戶使用。所以我想讓這段代碼讀取用戶擁有的id,然後將當前用戶的「盟友」值從-1更新到數據庫中的3。你知不知道怎麼?問我是否要我解釋更多。

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

session_start(); 

$verbindung = mysql_connect("localhost","root","****"); 
mysql_select_db("lan"); 

// setting up value in session 
$_SESSION['id'] = $id; //or $id your variable 

if(isset($_SESSION['id'])) { 
    mysql_query("UPDATE users SET ally='3' WHERE id='".$_SESSION['id']."'"); 
} 
?> 
+0

旁註:請更改您的數據庫密碼,因爲它現在在網絡上(在另一個版本中)。 – Caramiriel 2014-10-05 13:42:03

回答

0

這取決於您的身份驗證設置。在登錄用戶時,用戶ID應該存儲在一個會話中,然後可以像在代碼片段中顯示的那樣檢索它。

您似乎沒有設置$ ID下面一行:

$_SESSION['id'] = $id; 

這需要在用戶登錄時進行設置。

邊注意:您應該真正查看參數化查詢以避免SQL注入。

+0

那我該怎麼做?這是一個很好的教程,或者你可以解釋一下嗎?謝謝 – Emrik 2014-10-05 13:42:41

+0

參數化查詢與您的原始問題無關,但強烈建議您提高安全性。這裏是更多信息的地方:http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – CaveSpider 2014-10-05 15:22:34