0

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

好吧,这就是我在 Mysql 中的内容:

表(服务器玩家)

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>
4

1 回答 1

0

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

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

if ($_SESSION['username'] != '') {
    // Logged in
}
于 2013-09-02T16:53:44.793 回答