我正在寫PHP以激活用戶帳戶...... 代碼被過濾,消毒,密碼加密,並且我用PDO來存儲數據.... 一旦數據存儲,我有一個標題重定向,引導用戶點擊他們註冊的電子郵件地址上的激活鏈接。PHP帳戶激活邏輯
一切工作正常,我正在使用PDO RowCount()告訴重定向繼續並運行,但我在MySql數據庫中添加了一個哈希列來幫助激活鏈接,然後被查詢以實際激活帳戶,所以RowCount已經被填充,重定向只會繞過表單本身。所以我寫了一些代碼來使重定向工作,它的確如此,但是它仍然繞過表單本身.....我需要這段代碼來運行頭重定向,說數據庫已經被填充通過表單,但我需要它停止繞過表單本身,只是繼續前進和重定向。
下面的代碼....應要求提供更多的代碼.....
try{
$checkEmail = $db->prepare('SELECT email FROM users WHERE email = :email');
$checkEmail->bindParam(':email', $clean['email']);
$checkEmail->execute();
$result = $checkEmail->fetch();
print_r($result);
} catch(PDOException $e) {
$e->getMessage();
}
if ($result[0] === $clean['email']){
header('Location:verifyemail.php');
}
的$乾淨[「電子郵件」]是當前的電子郵件地址,在編程邏輯。但似乎PHP已經有一些價值,因此形式被繞過。
是的,所以我只需要一塊數據說數據庫剛剛被填充rowCount()做到了這一點,但是一旦我將哈希插入到數據庫中,它就被繞過了,因爲數據庫至少自動填充一列。我正在用PDO查看columnCount(),但我認爲首先需要查詢數據庫。我需要的是一個PDO方法,它說x列的字面剛剛被填充,去和重定向..... – 2013-02-10 20:25:22
@AntPower我認爲這種方法將適用於NULL輸入以外的任何東西;你只需要檢測'$ clean ['email']'沒有被提供的情況。也許'if(!empty($ clean ['email'])&& $ result [0] === $ clean ['email']){...}' – IMSoP 2013-02-10 20:29:24
現在就試試吧...... ..謝謝.... – 2013-02-10 20:32:57