Promněné se stejnou hodnotou – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Promněné se stejnou hodnotou – PHP – Fórum – Programujte.comPromněné se stejnou hodnotou – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Akimi Keita0
Návštěvník
10. 4. 2013   #1
-
0
-

Tak tu mám další problém. Mám dvě proměnné, které porovnávám, jestli jsou stejné. Napíšu raději ten kód:

<?php 
 public function beforeRenderPassword() {
    if(isset($_POST["changePasswordSubmit"]))
    {
      $old = htmlspecialchars($_POST["old_password"]);      
      $new = htmlspecialchars($_POST["new_password"]);
      $identity = mysql_fetch_array($this->users->getIdentity($_SESSION["logged"])); 
      if(Authenticator::calculateHash($old) == $identity["password"])
      {      
        $this->users->changePassword($_SESSION["logged"]);
      } else
      {
        $this->tpl->assign("message", array(
        "type" => "error",
        "text" => "Zadané heslo se neshoduje se současným."));
      }        
    }
  }

Když vypíšu obě proměnné ($old, $identity["password"]), zdají se být stejné, ale PHP vrací false. Nevíte co s tím?

Edit:

Mimochodem proměnné mají hodnoty:

$old = f67e16b6017a46bd241279eb7684b5710544425f

$identity["password"] = f67e16b6017a46bd241279eb7684b5710544425f

Nahlásit jako SPAM
IP: 86.59.150.–
Reklama
Reklama
KIIV+42
God of flame
10. 4. 2013   #2
-
0
-

tak jestli $old obsahuje uz to samy co $identity['password']  a pak ho jeste zahashujes,  tak se moc nedivim ze jsou ruzne....

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Akimi Keita0
Návštěvník
10. 4. 2013   #3
-
0
-

Zas tak blbí ještě nejsem. :D $old obsahuje nejprve $_POST s htmlspecialchars, a pak se v podmínce hashuje.

Nahlásit jako SPAM
IP: 86.59.150.–
KIIV+42
God of flame
10. 4. 2013   #4
-
0
-

no pak to bude chtit velice podrobne vypisovat a hlavne koukat i na zdrojovy kod stranky.. jestli tam neni nejaky smeti, co nevidis

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
ench0
Stálý člen
10. 4. 2013   #5
-
0
-

Můžeš ukázat, jak vypadá metoda Authenticator::calculateHash() ? - její kód?

Nahlásit jako SPAM
IP: 46.13.114.–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Akimi Keita0
Návštěvník
10. 4. 2013   #6
-
0
-

Metoda Authenticator::calculateHash()

  public function calculateHash( $password, $salt = null )
  {
    $salt = $salt == NULL ? '$2a$07$' : $salt;
    return hash( 'sha1', $password . $salt );
  }
Nahlásit jako SPAM
IP: 86.59.150.–
agagdsgadsgdsaagds
~ Anonymní uživatel
4 příspěvky
10. 4. 2013   #7
-
0
-

na konci je medzera alebo iny specialny znak

s pozdravom
----odbornik z webu root.cz

Nahlásit jako SPAM
IP: 147.175.181.–
Akimi Keita0
Návštěvník
10. 4. 2013   #8
-
0
-

#7 agagdsgadsgdsaagds
Nemám, už jsem zkusil i trim(), ale nic.

Nahlásit jako SPAM
IP: 86.59.150.–
Řešení
ench0
Stálý člen
10. 4. 2013   #9
-
0
-
Vyřešeno Nejlepší odpověď

Jo, asi se tam dostává nějaký znak navíc. Zkus se podívat na obě proměnné (třeba var_dump() - ten vypisuje typ i délku ). Třeba se ti to tam dostává někdy při ukládání do DB.

Nahlásit jako SPAM
IP: 46.13.114.–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Akimi Keita0
Návštěvník
10. 4. 2013   #10
-
0
-

#9 ench
Jo, díky. Při registraci se nakonec dostával bílí znak.

Nahlásit jako SPAM
IP: 86.59.150.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 41 hostů

Podobná vlákna

Online uložené promněné — založil kopinic22

Co se stejnou IP adresou — založil jonmar679

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý