gpt4 book ai didi

php - password_verify()替代方法? -PHP

转载 作者:行者123 更新时间:2023-12-02 05:26:49 25 4
gpt4 key购买 nike

我正在尝试做一个简单的登录操作,如果您可以调用的话。我正在使用MySQLi,到目前为止看起来还不错。

<?php
ob_start();

$myusername = @$_POST['username'];
$mypassword = @$_POST['password'];

if (isset($_POST['logged'])) {
$link->escape_string($myusername);
$link->escape_string($mypassword);
$stmt = $link->prepare("SELECT * FROM members WHERE username=?") or die ($link->error);
$stmt->bind_param('s', $myusername);
$stmt->execute() or die($stmt->error);
$stmt->store_result();
$count = $stmt->num_rows();

if (!empty($myusername) && !empty($mypassword)) {
if($count == 1) {
$rs = $link->query("SELECT * FROM members WHERE username='$myusername'");
$row = $rs->fetch_array(MYSQLI_ASSOC);
if (password_verify($mypassword, $row['password'])) {
$_SESSION['username'] = $myusername;
$_SESSION['first_name'] = $row['first_name'];
$_SESSION['last_name'] = $row['last_name'];
$_SESSION['email'] = $row['email'];
$_SESSION['loggedIn'] = true;
header("Location: login.php");
}
else {
echo "<p style=\"color: red\">Wrong Password</p>";
}
}
else {
echo "<p style=\"color: red\">Wrong Username</p>";
}
}
else {
echo "<p style=\"color: red\">Fill in all fields</p>";
}
}
?>

它在localhost上运行良好,但是遗憾的是在我的域上不起作用,因为每当我按下登录按钮时,表单就会消失,我一无所有。我联系了域名提供商,他们告诉我这可能是我的代码中的内容。我很确定我的代码很好用,因为它可以在本地主机服务器上工作。

为了省事,我想也许我可以使用其他方法。但是我记得我使用 crypt()将密码存储到数据库中,并且我相信密码是随机生成的。还有其他方法可以查看用户键入的任何内容的加密版本是否与数据库中的内容匹配?

最佳答案

password_verify可用于PHP> = 5.5.0,因此您的主机可能没有所需的PHP版本。

另请:http://docs.php.net/manual/en/function.password-verify.php

您可以尝试这样的事情:

crypt($row['password'], $mypassword) == $mypassword

关于php - password_verify()替代方法? -PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com