PHP登录系统-输入小用户名,登录时使用类似数据库中的用户名
我在这里完成了一个使用MySQL的php登录系统,但现在我想知道,当我在PHP登录系统-输入小用户名,登录时使用类似数据库中的用户名,php,mysql,database,Php,Mysql,Database,我在这里完成了一个使用MySQL的php登录系统,但现在我想知道,当我在login.php中写入用户名时,它也可以是小写字母,当我登录时,我的用户名将更改为原始用户名,以及它在数据库中的注册方式 <?php session_start(); if(isset($_SESSION["username"])) header("location:h_inc/h_pages/me.php"); if(isset($_POST["submit"])){
login.php
中写入用户名时,它也可以是小写字母,当我登录时,我的用户名将更改为原始用户名,以及它在数据库中的注册方式
<?php
session_start();
if(isset($_SESSION["username"]))
header("location:h_inc/h_pages/me.php");
if(isset($_POST["submit"])){
if(empty($_POST["username"]) || empty($_POST["password"])){
$empty_fields = array();
$empty_fields['error'] = "<font color=\"red\">Please fill all fields.</font>";
}else{
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($_POST["username"])."' AND password = '".mysql_real_escape_string(md5($_POST["password"]))."' AND rank = '9'")) > 0){
$empty_fields['true'] = "<font color=\"green\">You are now logged in.</font>";
$_SESSION["username"] = $_POST["username"];
$_SESSION["password"] = md5($_POST["password"]);
echo "<script type='text/javascript'> window.location.href = 'index.php';</script>";
}else{
$empty_fields['error'] = "<font color=\"red\">Your datas are incorrect.</font>";
}
}
}
?>
从查询中获取结果并使用其中的值来显示用户名,而不是mysql\u num\u行
正如@Naruto在评论中指出的那样:考虑切换到PDO 返回查询值,然后从返回值中获取原始名称并将其分配到会话变量中
$result = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($_POST["username"])."' AND password = '".mysql_real_escape_string(md5($_POST["password"]))."' AND rank = '9'");
if($result) {
while ($row = mysql_fetch_array($result)) {
$username = $row["username"];
}
$_SESSION["username"] = $username;
$_SESSION["password"] = md5($_POST["password"]);
echo "<script type='text/javascript'> window.location.href = 'index.php';</script>";
}else{
$empty_fields['error'] = "<font color=\"red\">Your datas are incorrect.</font>";
}
$result=mysql\u query(“从用户名=”.mysql\u real\u escape\u string($\u POST[“username”])。“”和密码=”.mysql\u real\u escape\u string(md5($\u POST[“password”])。”和排名='9');
如果($结果){
while($row=mysql\u fetch\u数组($result)){
$username=$row[“username”];
}
$\会话[“用户名”]=$username;
$_SESSION[“password”]=md5($_POST[“password”]);
echo“window.location.href='index.php';”;
}否则{
$empty_fields['error']=“您的数据不正确。”;
}
replace$\u SESSION[“username”]=$\u POST[“username”];在继续使用mysql_u*完整地编写项目之前,请考虑使用mysqli_uuo或PDO,因为mysql_u*已被弃用。。