Witam,
mam problem. Mam skrypt, który zmienia hasło. Fajnie ale jest tylko jedno pole "Nowe hasło" i nawet nie sprawdza czy stare hasło się zgadza.
oto skrypt:
<?php
require 'header.php'; // Dołącz początkowy kod HTML
require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą
require_once 'user.class.php';
/**
* Sprawdź czy formularz został wysłany
*/
if ($_POST['send'] == 1) {
// Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection
// Zapisz dane użytkownika o podanym ID, do zmiennej $profile
$id = $_GET['id'];
/**
* Jeśli wystąpiły jakieś błędy, to je pokaż
*/
if ($errors != '') {
echo '<p class="error">Zmiana hasła nie powiodła się:<br />'.$errors.'</p>'; }
else {
// Posól i zasahuj hasło
$pass = user::passSalter($pass);
// Zapisz dane do bazy
mysql_query("UPDATE `users` SET `id`='$id',`pass`='$pass' WHERE 1;") or
die ('<p class="error">Wystąpił błąd podczas zmiany hasła.</p>'); echo '<p class="success">Hasło zostało poprawnie zmienione</p>'; }
}
?>
<?php
if (user::isLogged()) {
echo '<center><form method="post" action=""> <label for="pass">Nowe hasło:</label>
<input maxlength="32" type="password" name="pass" id="pass" />
<input type="hidden" name="send" value="1" />
<input type="submit" value="Zmień" />
</form></br>
<a href="panel.php">Wróć do panelu</a>';
}
else {
echo 'Funkcja dostępna tylko dla zalogowanych. <a href="index.php">Logowanie</a>'; }
?>
W czym potrzebuję pomocy?
Chcę aby było nowe pole "Stare hasło" i będzie trzeba je uzupełnić i jeżeli hasło będzie zgodne z tym w bazie to hasło zmienia się na hasło z pola "nowe hasło".
Chyba dokładnie wyjaśniłem. Chodzi mi tylko o funkcje sprawdzania hasła w bazie i przepuszczania, bo dodanie pola do formularza to nie problem.
Mam nadzieję że dobrze wyjaśniłem.
Pozdrawiam.