<?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());
?>
我想在我的数据库中存储这个“$ password”。但我不能把它直接放到一个PHP文件并存储它。因为我收到一个错误。有谁知道怎么做??
谢谢!
答案 0 :(得分:2)
您必须调用该函数并将其值存储在变量中。
$pass = generatePassword();
$sql="INSERT INTO `users`(`password`) VALUES ('$pass')";
答案 1 :(得分:1)
您不使用您的功能。 试试这个:
$sql="INSERT INTO `users`(`password`) VALUES ('".generatePassword()."')";
答案 2 :(得分:1)
您应该调用已定义的函数并将其存储在变量$password
中,否则代码中不会定义变量$ password。
$password = generatePassword();
答案 3 :(得分:0)
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}')";
答案 4 :(得分:0)
您已将generatePassword
函数定义为静态函数。并且您没有定义任何类,因此通过删除static
将函数从静态函数更改为简单函数。你是usin $ password变量,但你没有调用generatePassword
函数来获取值,所以你需要先调用函数。尝试下面给出的代码。
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());