2012-06-18 93 views
0
<?php 
if(isset($_POST['btnSubmit']) and $_GET['action'] == "Add") 
{ 
    $Users->copyPostData(); 
    $Users->_password(md5($_POST[password])); 
    $Users->_status(0); 
    $Users->_apikey(md5("[email protected]:".$_POST[uname].":@STEP")); 

    $userNum = $Users->checkUserExist($Users->_username()); 
    $userEmail = $Users->checkEmailExist($Users->_email()); 
    if(($userNum == '0' || $userNum == '') && ($userEmail == '0' || $userEmail == '')) { 

    $randomVar = generateRandomNo(8); 
    $Users->_activationcode($randomVar); 

我的這段代碼生成一個API KEY並將其保存在我的數據庫中。我的表名是USERS ..但是這行代碼生成的api密鑰對於所有用戶都是一樣的... 我想爲所有用戶提供唯一的API密鑰...請你幫忙嗎?php中的唯一API密鑰

$Users->_apikey(md5("[email protected]:".$_POST[uname].":@STEP")); 
+1

'$ _POST ['uname']'包含任何獨特的東西嗎? – deceze

+0

我猜'$ _POST [uname]'每次都會有所不同,所以每次它怎麼會產生相同的密鑰。你應該先用'$ _POST ['uname']'而不是'$ _POST [uname]'來嘗試。看起來你錯過了報價 – Sanjay

+0

我已經添加了報價但沒有區別 –

回答

2

您正在創建一個字符串的MD5和唯一的原因其同樣爲所有的用戶是因爲該字符串是每個人都一樣。

檢查$_POST['uname']

+0

我已經添加了引號但沒有區別 –

+0

檢查內容。 – Josnidhin

2

您應該使用uniqid()生成的唯一密鑰內容!它是一種內置的php函數。