-2
 <?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());

?>

i want to store this "$password" in my database. but i can't put this directly to a php file and store it.because i'm getting an error. anyone know how to do this??

Thank you!

4

5 に答える 5

2

関数を呼び出して、その値を変数に格納する必要があります。

$pass = generatePassword();
$sql="INSERT INTO `users`(`password`) VALUES ('$pass')";
于 2013-06-29T09:42:34.863 に答える
1

関数を使用しません。これを試して:

$sql="INSERT INTO `users`(`password`) VALUES ('".generatePassword()."')";
于 2013-06-29T09:42:17.270 に答える
1

定義した関数を呼び出して変数$passwordに保存する必要があります。そうしないと、変数 $password がコードで定義されません。

$password = generatePassword();
于 2013-06-29T09:42:38.347 に答える
0

generatePassword関数を静的関数として定義しました。クラスを定義していないため、 を削除して関数を静的関数から単純関数に変更しますstatic。$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());
于 2013-06-29T09:49:05.857 に答える
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}')";
于 2013-06-29T09:43:02.410 に答える