选择ID的Mysql会话我需要用户名

时间:2013-09-02 16:32:06

标签: php session

我有一个登录脚本和一个使用ID作为用户身份验证(验证)的UCP ......基本上它使用ID来记录正确帐户中的人。所以我需要的是使用人名而不是他的身份证。

这就是我在Mysql中的内容:

表(serverplayers)

User - Users name that he registered In Game(This UCP and system is for a game)
ID - given by the server when registering(everyones are different)

UCP就是这样写的: login.php =

if ($_SESSION['user'] > 0)

但这就是问题所在。它基本上检查用户的ID是否大于零,这意味着他已登录。如果是0,则他已经注销。 那就是无处不在。

if ($_SESSION['user'] == 0)

网页显示他已退出的内容。我需要系统通过用户名而不是他的ID登录用户。反正有没有重写整个脚本吗?

我希望我能回答这个问题,但请问是否错误。

好吧,这是我的login.php

<?php
if ($_SESSION['narys'] != '') header('Location: index.html');
if (isset($_POST['User']))
{
$result = mysql_query('SELECT User, Password FROM serverplayers WHERE User=\''. $_POST['User'] .'\' LIMIT 1');
$row = mysql_fetch_array($result);
if ($row['Password'] == $_POST['Slaptazodis']) {
$_SESSION['narys'] = $row['User'];
header('Location: index.html');
}
else echo '<center>
<b>Prisijungimas</b><br>
<br>
<br>Neteisingas slapyvardis arba slaptažodis<br>
<br>


<form method="post" action="login.html">
<input type="text" name="User" id="username" placeholder="Vartotojo vardas"><br>
<input type="password" name="Slaptazodis" id="slaptazodis" placeholder="Slaptažodis">
<<input type="submit" name="login" value="" id="jungtisvvp" >
</form>
<br>
... dar neturite sąskaitos? - <a href="register.html">Užsiregistruokite!</a></center>';
    if ($_SESSION['narys'] != '') exit; 
}
else
{
echo '
<form method="post" action="login.html">
<input type="text" name="User" id="username" placeholder="Vartotojo vardas"><br>
<input type="password" id="slaptazodis" placeholder="Slaptažodis">
<input type="submit" value="" id="jungtisvvp">
</form>

';
}
?>

继承我的header.php选择用户数据:

if ($_SESSION['narys'] != ''){
$result = mysql_query('SELECT vModel, vOwner, Vip, VipDaysLeft, MoneyInBank, HaveBankAccount, Warns, TelphoneNumber, TelPhoneContract, Online, Job, HaveCredits, User, AdminLevel, AdminDaysLeft, PlayerX, PlayerY, PlayerZ, Experience, Money, Gender, Skin, Online, Health, Armour, Password, HaveCredits FROM serverplayers WHERE User='.$_SESSION['narys']);
$ro = mysql_fetch_array($result);
}

这基本上就是我在网页中显示用户数据的方式:

<li>Life: <div class="red-box">' .$ro['Health']. '</div></li>

1 个答案:

答案 0 :(得分:0)

如果更改会话变量以包含名称而不是ID,请使用:

if ($_SESSION['username'] == '') {
    // Not logged in
}

if ($_SESSION['username'] != '') {
    // Logged in
}