2013-12-10 2 views
-2

Im пытается создать html-форму для смены пароля в php. моя база данных создана в easyphp.сменить пароль html form в php

Вот код, который я написал для изменения пароля, когда я тестирую его, ничего не произошло или не изменилось.

<? 
$user_name = "root"; 
$pass_word = ""; 
$database = "login"; 
$server = "127.0.0.1"; 

if(isset($_POST['submit'])) 
    { 
    $oldpassword = md5($_POST['cur_password']); 
    $newpassword= md5($_POST['new_password']); 
    $confirm_password = md5($_POST['confirm_password']); 
    $usermane = $_SESSION['username'];   

$con = mysqli_connect($server, $user_name, $pass_word,$database); 

if (!$con) 
{ 
die('Could not connect: ' . mysqli_connect_error()); 
    } 

    $select=mysqli_query("select * from login where L1='$username'"); 

    $fetch=mysqli_fetch_array($select); 
    $data_password=md5($fetch['password']); 

    if($newpassword==$confirm_password && $data_password==$oldpassword) 
    { 
    $insert=mysqli_query("update login set L2='$confirm_password' where L1='$username'"); 
    } 

    if($insert) 
    { 

    echo "Password changed"; 
    } 
    else 
    { 
     echo "Password not changed"; 
    } 

    } 
    } 
    mysqli_close($con); 

?> 

<html> 
<head> 
</head> 
<body> 
<FORM NAME ="form1" METHOD ="POST" ACTION ="changepassword.php"> 
<p>old password<br /> 
<input type="password" name="current_password" /></p> 
<p>New password<br /> 
<input type="password" name="new_password"/> 
    </p> 
    <p>Confirm password<br /> 
    <input type="password" name="confirm_password"/> 
    </p> 
    <input name="submit" type="submit" value="Save Password" /> 
    </body> 
    </html> 

Пожалуйста, сообщите мне, что здесь не так.

спасибо: D

+1

Вам необходимо выполнить базовое устранение неполадок, изолировать проблему, затем вернуться и задать конкретный вопрос. Сбрасывать ваш код и говорить, что он не работает, недостаточно. –

+0

$ data_password = md5 ($ fetch ['password']); - пароль уже введен в db ??? если да, вам не нужно делать md5 здесь –

+0

Можете ли вы рассказать мне, что происходит в вашем конце? Не обновлять пароль или что-то еще? Также называется ли ваш файл "changepassword.php"? попытка оставить значение вашей формы пустой. Как Action = "" – sulmanpucit

ответ

2

$usermane на линии 12. Похоже, ошибка синтаксиса. Разве вы не должны ошибаться?

+0

Это должен быть комментарий не ответ – robbmj

+3

@robbmj - Учитывая низкое качество вопроса, я бы сказал, что это достаточный ответ. –

+0

Спасибо, неустанно. –

1

изменение

$data_password=md5($fetch['password']); 

в

$data_password=$fetch['password']; 

вы уже храните пароли как хэш (по крайней мере, в соответствии с вашей вставкой заявления), когда вы берете хэш хэша вы просто получите новый хеш.

, который вызывает $ data_password не равна $ OldPassword

if($newpassword==$confirm_password && $data_password==$oldpassword) 
{ 
    $insert=mysqli_query("update login set L2='$confirm_password' where L1='$username'"); 
} 

также, как Eisa Адиль отметил

$usermane 

должен быть

$username 
+0

Спасибо, ребята, за ответы и комментарии, я постараюсь исправить проблемы в соответствии с вашими ответами. : D – Souad

1

Также usermane и имя пользователя несовпадение

$usermane = $_SESSION['username'];   

$select=mysqli_query("select * from login where L1='$username'"); 
Смежные вопросы