Php 如何在数据库中存储此密码

Php 如何在数据库中存储此密码,php,mysql,Php,Mysql,您不使用您的函数。 试试这个: <?php if(isset($_POST['submit'])) { include ("connect/connect.php"); static function generatePassword($length = 8) { $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; $i = 0; $password = ""

您不使用您的函数。 试试这个:

 <?php

if(isset($_POST['submit'])) {

include ("connect/connect.php");  

static function generatePassword($length = 8) {
    $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $i = 0;
    $password = "";
    while ($i <= $length) {
        $password .= $chars{mt_rand(0, strlen($chars))};
        $i++;
    }
    return $password;
}

$sql="INSERT INTO `users`(`password`) VALUES ('$password')";

$result=mysql_query($sql,$conn) or die(mysql_error());

?>

您必须调用函数并将其值存储在变量中

$sql="INSERT INTO `users`(`password`) VALUES ('".generatePassword()."')";

您应该调用已定义的函数并将其存储在变量
$password
中,否则代码中没有定义变量$password

$pass = generatePassword();
$sql="INSERT INTO `users`(`password`) VALUES ('$pass')";
函数生成密码($length=8){
$chars=“1234567890abcdefghijkmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz”;
$i=0;
$password=“”;

虽然($i您已经将
generatePassword
函数定义为静态函数。您还没有定义任何类,所以通过删除
static
将函数从静态函数更改为简单函数。您使用的是$password变量,但您没有调用
generatePassword
函数来获取值,因此需要调用函数首先,尝试下面给出的代码

function generatePassword($length = 8) {
    $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $i = 0;
    $password = "";
    while ($i <= $length) {
        $password .= $chars{mt_rand(0, strlen($chars))};
        $i++;
    }
    return $password;
}

$password = generatePassword(8) ;
$sql="INSERT INTO `users`(`password`) VALUES ('{$password}')";
if(isset($\u POST['submit'])){
包括(“connect/connect.php”);
函数生成器密码($length=8){
$chars=“1234567890abcdefghijkmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz”;
$i=0;
$password=“”;

虽然($i否,我们不知道您收到的是什么错误消息。您收到的是哪一个错误?
$password
从未定义。但在保存到数据库中后,它只有9个字符。但它应该是这样的[1911BA1BEC6E2301EE56C26C16D0D6B76]@user2534316使用任何哈希算法对其进行哈希。如sha12($pass)。如何使用md5呢?@user2534316使用md5确实是个坏主意,但如果您想使用它,请使用类似于
md5($pass)
function generatePassword($length = 8) {
    $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $i = 0;
    $password = "";
    while ($i <= $length) {
        $password .= $chars{mt_rand(0, strlen($chars))};
        $i++;
    }
    return $password;
}

$password = generatePassword(8) ;
$sql="INSERT INTO `users`(`password`) VALUES ('{$password}')";
if(isset($_POST['submit'])) {

include ("connect/connect.php");  

function generatePassword($length = 8) {
    $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $i = 0;
    $password = "";
    while ($i <= $length) {
        $password .= $chars{mt_rand(0, strlen($chars))};
        $i++;
    }
    return $password;
}
$password = generatePassword();
$sql="INSERT INTO `users`(`password`) VALUES ('$password')";

$result=mysql_query($sql,$conn) or die(mysql_error());