2014-10-05 66 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