Смяна на парола

botevis2

Registered
Направил съм файл за редактиране на профил та става въпрос за смяна на парола имам поле текуща парола,нова парола и отново нова парола и искам да разбера как да направя ако текъщата парола се различава от записа в базата данни да вади грешка

И друго което искам да питам как да направя примерно потребител turist влиза в своя профил натиска на редактиране и го води към xxx/profile.php?id=2 (примерно) и като напише някое друго ID което не е неговото да му дава грешка
 
За първият въпрос - вземаш старата парола от базата данни и сравняваш с тази написана в полето.. Ако паролата е в md5 формат тогава проверката ще е:
PHP:
if($row['password']==md5($_POST['oldPassword'])){
   mysql_query('UPDATE ...') or die (mysql_error());
}
else{
   echo 'Старата парола е невалидна!';
}

За вторият въпрос: трябва да записваш в сесия id-то на регистрирания потребител.. Ако да речем е $_SESSION['userID']:

PHP:
if($_SESSION['userID']!=$_GET['id']){
    echo 'Не можете да редактирате чужд профил!!!';
}
else{
    //кода за редакция на профила
}
И не забравяй да проверяваш за валидност GET параметъра!!!!
 
botevis2 каза:
oldPassword тука пак пиша password нали така ми е в phpmyadmina

Как да проверя GET параметъра
Ммм да.. както ти е в базата данни! :)

Ами просто прави проверка (защита), за да не се опита някой да ти прави мизерии.. Пример за защита на GET, ако знаеш, че ще е само число
PHP:
$id = isset(is_numeric($_GET['id']));
if($id<1){
  header('Location: index.php');
  exit;
}
 

Back
Горе