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

Php Mysql会话选择ID我需要用户名,php,session,Php,Session,我有一个登录脚本和一个UCP,它使用ID作为用户身份验证(验证)…基本上它使用ID将用户登录到正确的帐户中。所以我需要的是使用人名而不是他的身份证 以下是我在Mysql中得到的信息: 表(服务器播放器) UCP到处都是这样写的: login.php= if ($_SESSION['user'] > 0) 但这就是问题所在。它基本上检查用户的ID是否大于零,这意味着他已登录。如果是0,他就注销了。 到处都是 if ($_SESSION['user'] == 0) 网页上显示了他注销的内容

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

以下是我在Mysql中得到的信息:

表(服务器播放器)

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>

';
}
?>
这就是我在网页中显示用户数据的基本方式:

<li>Life: <div class="red-box">' .$ro['Health']. '</div></li>
  • 生活:'.$ro['Health'.]
  • 如果将会话变量更改为包含名称而不是ID,请使用:

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

    为什么不能通过用户名登录,但将会话变量设置为ID?如果您还需要一个带有用户名的会话变量,请使用另一个变量。是的,这就是我要做的。我正在尝试摆脱ID,只使用用户名来代替ID。但正如我所说的,问题是如何将>0和==0更改为用户名。用户名是“varchar”,并且不是数字。所以。。。我是一个不学无术的人,正在努力学习。我在谷歌上查了一下会话教程,但这些教程太复杂了,我知道这是非常基本的东西。所以,为了简单起见,我在这里寻找一个答案,以真正了解情况。谢谢你的答案,但是现在我什么也没有得到。我将
    >0
    ==0
    更改为您建议的
    ='
    !=''但现在它什么都不做。它不显示任何与用户相关的内容,而是登录和注销。我不知道我是否遗漏了什么…您需要更改应用程序中的所有其他内容,以通过用户名而不是ID进行查找。但正如我看到的那样,
    >0
    ==0
    是脚本确定用户的唯一方式。因此,是的,它将我登录,但它不会显示来自用户行的数据。例如healt,金钱等。这是否意味着其他东西导致了问题?你说你正在更改脚本以使用用户名而不是ID。因此它不再是零或非零。我不明白你为什么不只设置两个会话变量:一个变量用于名称,另一个变量用于ID。然后在其他脚本中使用你需要的任何变量。
    <li>Life: <div class="red-box">' .$ro['Health']. '</div></li>
    
    if ($_SESSION['username'] == '') {
        // Not logged in
    }
    
    if ($_SESSION['username'] != '') {
        // Logged in
    }