Zmiana hasła-co mam źle w tym skrypcie

Witam mam problem z skryptem zmiany hasła a więc:

Problem tkwi w zmianie po wprowadzeni danych “starego, nowego, i powtórzeniu hasła”

wyskakuje błąd taki “stare haslo jest niepoprawne!” a hasło jest napisane poprawnie bo się

z niego logowałem do konta

Skrypt wygląda tak.

zmiana.php

Wpisz stare hasło: 


Wpisz nowe hasło: 


Powtórz nowe hasło:

zmiana2.php

<?

$stare_haselko = md5($_POST["stare_haselko"]);

$stare_haselko_true = $gracz['haslo'];

$nowe_haselko = md5($_POST["nowe_haselko"]);

$nowe_haselko2 = md5($_POST["nowe_haselko2"]);

if ($stare_haselko == $stare_haselko_true) {

if ($stare_haselko_true == $nowe_haselko2) {

   ?>

stare i nowe haslo jest takie same! #### powrot \<? } else { if ($nowe\_haselko == $nowe\_haselko2) { call("UPDATE `bartoszka_fight`.`tribal_gracze` SET `haslo` = '".$nowe\_haselko."' WHERE `tribal_gracze`.`gracz` = ".$gracz['gracz']); ?\> ## haslo zostalo zmienione! #### za chwile zostaniesz automatycznie przekierowany\<? } else { ?\> ### nowe hasla nie sa takie same! #### sprobuj ponownie \<? } } } else { ?\> ### stare haslo jest niepoprawne! #### sprobuj ponownie \<? } ?\>[/code] tabela baza danych [code]-- Struktura tabeli dla `tribal_gracze` -- CREATE TABLE IF NOT EXISTS `tribal_gracze` ( `gracz` int(11) NOT NULL auto\_increment, `login` varchar(15) NOT NULL, `haslo` varchar(40) NOT NULL, `email` varchar(40) NOT NULL, `ostatnio_zalogowany` int(11) NOT NULL, `obrazek` int(11) NOT NULL, `rola` int(11) NOT NULL, `zbanowany` int(11) NOT NULL, `id_miasta` int(11) NOT NULL default '0', `nazwa_miasta` varchar(40) NOT NULL, `punkty` int(11) NOT NULL default '0', `monety` int(11) NOT NULL default '0', `id_klanu` int(11) NOT NULL default '0', `urlop` int(11) NOT NULL default '0', PRIMARY KEY (`gracz`), UNIQUE KEY `login` (`login`), UNIQUE KEY `email` (`email`), UNIQUE KEY `nazwa_miasta` (`nazwa_miasta`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO\_INCREMENT=2 ;