我有一个login.php文件,如下所示:
include "myfuncs.php";
$connect = dbConnection();
$username = $_POST["username"];
$passwort = md5($_POST["password"]);
$query = "SELECT username, password FROM user WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($query);
$row = mysql_fetch_object($result);
if($row->password == $passwort)
{
echo "Hi $username";
$_SESSION["username"] = $username;
echo "Login successfully";
}
else
{
echo "Login doesn't work";
}
和myfuncs.php文件,如下所示:
function dbConnection()
{
$servername = "...";
$username = "...";
$password = "...";
$dbname = "...";
$db_connect = new mysqli($servername, $username, $password, $dbname);
if ($db_connect->connect_error)
{
die("Connection failed: " . $db_connect->connect_error);
}
return $db_connect;
}
不幸的是,登录表单不起作用 - 即使用户名和密码与数据库条目匹配,它总是会出现错误“登录不起作用”。
答案 0 :(得分:1)
Arg,您正在混合使用mysqli
类mysql
函数。我认为它不起作用......
它以这种方式工作:PHP MySQLI
$stmt = $mysqli->prepare($query)
while ($stmt->fetch()) {
(...)
}
答案 1 :(得分:0)
我在第6行看到你的变量名中有错误。 试试这个:
var operators = {
'+': function (a, b) { return a + b; },
'-': function (a, b) { return a - b; },
'*': function (a, b) { return a * b; },
'/': function (a, b) { return a / b; }
},
calculate = function (val1, val2, sign) {
if (sign in operators) {
return operators[sign](val1, val2);
}
}
document.write(calculate(6, 7, '*'));
答案 2 :(得分:0)
您的代码存在一些问题。在myfuncs.php中你使用mysqli,然后在你的代码中使用mysql(没有" i")。 mysql(没有" i")已被弃用,所以你应该在任何地方都使用mysqli。
更重要的是,在你的代码中你有:
$query = "SELECT username, password FROM user WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($query);
$row = mysql_fetch_object($result);
请参阅下两行的粗体文字(它应该是相同的变量):
$ ergebnis = mysql_query($ query);
$ row = mysql_fetch_object( $ result );
你应该
$result = mysql_query($query);
如果您将使用mysql。