Премини към съдържанието

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

qvor16

Скрипт за промяна на парола

Препоръчан отговор


.......

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Решили ли сте си проблема ?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Решили ли сте си проблема ?

Не просто никои не ми отговори и реших че няма смисъл да държа темата ето за какво ставаше на въпрос:

използвам този скрипт за промяна на парола но се появи следния проблем казва ми грешна сегашна парола дори когато паролата в базата с данни е така и се чудя откъде идва проблема на мен всичко ми изглежда наред но явно имам някъде грешка която немога да открия дано някои помогне Благодаря ви!!!!

 

ето го и скрипта:

<?php if($_POST['changepassword']) {$oldpasss = $_POST['oldpasss'];$oldpasss = pvpgn_hash($oldpasss);$password = $_POST['passwordd'];$cpassword = $_POST['cpassword'];if($password != $cpassword) {echo "<div class='error'>Паролите не съвпадат</div>";}else{$password = pvpgn_hash($password);$email = addslashes(htmlspecialchars($_POST['email']));$user = addslashes(htmlspecialchars($_POST['users']));if($user == NULL ||$oldpass == NULL ||$password == NULL ||$cpassword== NULL || $email == NULL){echo "<div class='error'>Съжалявам, но не сте попълнили всички полета</div>";}else{$res = mysql_query("SELECT * FROM `pvpgn_BNET` WHERE acct_username='$username'");$row = mysql_fetch_assoc($res);if($oldpass != $row['password']){ echo "<div class='error'>Грешна сегашна парола</div>";}else{$nq = "UPDATE `BNET` SET acct_passhash1='$password' WHEREacct_email='$email' AND acct_passhash1='$oldpasss'";$nr = mysqll_queryy($nr);echo "<div class='success'>Вие успешно си променихте вашата паролатана $_POST[passwordd].</div>";}}}?>

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Че кой да ти отговори, когато премълчаваш два файла.

pvpgn_hash.php и дъмпа на базата.

 

Още повече, това е класически гомнокод и без право на сърдене.

 

Първо

 if($_POST['changepassword'])

$_POST се проверява на empty и isset.

 

Второ

$oldpass = $_POST['oldpass'];$oldpass = pvpgn_hash($oldpass);$password = $_POST['password'];$cpassword = $_POST['cpassword'];

това еднообразие плаче за функция, която да връща филтриран резултат.

 

Трето

$email = addslashes(htmlspecialchars($_POST['email']));

това е супер тъпо. Първата функция е стара, втората е безсмислена.

 

Четвърто

if($user == NULL ||$oldpass == NULL ||$password == NULL ||$cpassword== NULL || $email == NULL)

да караш сървъра да прави подобна проверка, значи че не жалиш магарето си. За какво е JS?

 

Пето

 echo "<div class='error'>Грешна сегашна парола</div>";}else{$nq = "UPDATE `pvpgn_BNET` SET acct_passhash1='$password' WHEREacct_email='$email' AND acct_passhash1='$oldpass'";$nr = mysql_query($nq);echo "<div class='success'>Вие успешно си променихте вашата паролатана $_POST[password].</div>";

Явно ти предстои да откриеш топлата вода, но добри чичковци отдавна са измислили велосипед MVC.

 

нищо лично

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
$res = mysql_query("SELECT * FROM `pvpgn_BNET` WHERE acct_username='$user'");$row = mysql_fetch_assoc($res);if($oldpass != $row['password']){ echo "<div class='error'>Грешна сегашна парола</div>";}else{$nq = "UPDATE `pvpgn_BNET` SET acct_passhash1='$password' WHEREacct_email='$email' AND acct_passhash1='$oldpass'";

При SELECT и при UPDATE викаш различни полета за паролата от таблицата.


Сподели този отговор


Линк към този отговор
Сподели в други сайтове
if($oldpass != $row['acct_passhash1']){

^ Значи така трябва да се направи в кода от пост #3.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
if($oldpass != $row['acct_passhash1']){

^ Значи така трябва да се направи в кода от пост #3.

 

Да така се получи благодаря ви много !!!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.