2017-04-16 49 views
0
<?php 
    if(isset($_POST["reset-password"])) { 
     $conn = mysqli_connect("localhost", "root", "", "borgos"); 
     $FName = $_POST['FName']; 
     $sql = "UPDATE user_account SET UserPassword = '" . md5($_POST["UserPassword"]). "' WHERE FName = $FName"; 
     $result = mysqli_query($conn,$sql); 
     $success_message = "Password is reset successfully."; 

    } 
?> 

未定義指數:FName參數在C:\ XAMPP \ htdocs中\ resetpassword.php第4行不明指數

我不知道什麼是這裏的問題,FName參數是在我的數據庫。

+0

哪些數據是發送呢?添加:print_r($ _ POST) – Marcin

+1

你的腳本處於危險之中,你應​​該真的**考慮使用[PPS:Prepared Parameterized Statements](http://php.net/manual/en/mysqli.quickstart.prepared- statements.php)。這將有助於[阻止SQL注入](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。請使用'error_reporting(E_ALL); ini_set('display_errors',1);'在您的頁面上方顯示錯誤。最後但並非最不重要的,你應該**不再**使用MD5,而是'password_hash/password_verify' [LINK](http://php.net/manual/fr/function.password-hash.php) – OldPadawan

+1

FName is in你的數據庫,是的,但它是在發送$ _POST數據? – junkfoodjunkie

回答

-1

因爲$_POST['FName'];沒有貼

解決方案:

$FName = ''; 
if($_POST['FName']){ 
     $FName = $_POST['FName']; 
} 
+0

所以,只要忽略錯誤?如果該字段丟失,則最好生成一個錯誤。 (或者搞清楚_why_是否丟失。) – duskwuff

+0

@duskwuff有問題說未定義索引,這個錯誤只對變量不存在。 –