2013-06-29 4 views
-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()); 

?> 

이 "$ password"를 데이터베이스에 저장하고 싶습니다. 하지만이 직접 PHP 파일에 넣을 수 없습니다 및 it.because 오류가 점점 store.because. 아무도 이것을하는 방법을 알고 있습니까 ??데이터베이스에이 암호를 저장하는 방법

감사합니다.

+0

아니요, 어떤 오류 메시지가 표시되는지 알 수 없습니다. – mario

+0

어떤 오류가 발생합니까? –

+0

'$ password'는 정의되지 않았습니다. – str

답변

2

변수를 호출하고 그 값을 변수에 저장해야합니다.

$pass = generatePassword(); 
$sql="INSERT INTO `users`(`password`) VALUES ('$pass')"; 
+0

하지만 데이터베이스에 저장 한 후에는 9 개의 문자 만 있지만 [1911ba1bec6e2301e56c26c16d0d6b76] – user2534316

+0

@ user2534316과 같이 해시 알고리즘을 사용하여 해시합니다. sha12 ($ pass)와 같습니다. –

+0

md5를 사용하는 방법은 무엇입니까? – user2534316

1

귀하의 기능을 사용하지 마십시오. 시험해보기 :

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

당신은 다른 어떤 변수 $ 암호 코드에 정의되지 않으며, 사용자가 정의한 함수를 호출하고 변수 $password에 저장해야합니다.

$password = generatePassword(); 
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}')"; 
0

당신은 generatePassword 등의 기능 정적 함수를 정의 할 수 있습니다. 어떤 클래스도 정의하지 않았으므로 static을 제거하여 정적 함수에서 단순 함수로 함수를 변경하십시오. 그리고 당신은 $ 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()); 
관련 문제