我创建了一个基本的登录页面,用户使用一个6位数的pin登录,这个pin由表中的数据验证,并使用php启动会话。在欢迎页面登录时,我想显示“欢迎用户名”,其中用户名是表-user\u first中对应的名称。
这是我的登录名:
$error='';
if (isset($_POST['submit'])) {
require 'dbconnect_inc.php';
$loginid = $_POST['loginid'];
$result = mysqli_query($conn, 'SELECT * FROM hpnhusers WHERE user_loginid="'.$loginid.'"');
if (mysqli_num_rows($result)==1) {
$_SESSION['loginid'] = $loginid;
header ('Location: welcome.php');
} else {
$error = 'Invalid PIN';
}
}
//Logout script
if (isset($_GET['logout'])) {
session_unregister('loginid');
}
我的sql表如下所示:
user_id user_first user_last user_loginid
1 Bob Jones 123456
我猜找到相应名称的正确查询应该是:
$username = mysqli_query($conn, 'SELECT user_first FROM hpnhusers WHERE user_loginid="'.$loginid.'"');
但不幸的是,我不知道如何把它放在一起让它工作。
非常感谢所有的帮助,因为我还在学习。
1条答案
按热度按时间bwntbbo31#
首先,不要只接受用户输入并在查询中使用它。
现在,构建一个参数化查询,在不需要的时候不要使用ad-hoq查询
我没有权限访问一台安装了php的机器,但我认为上面应该为您提供用户名。