Autor Zpráva
icefireCZ
Profil
Dobrý den,
chci si udělal takový jednoduchý MD5 hash "zjišťovatel hesel". Uživatel zadá zahashované MD5 heslo a po kliknutí na Submit se to sputí (což už tak bývá). Nejprve si ze souboru s heslama udělám pole, potom každé to heslo zahashuji do MD5 a potom je porovnávám s tím co zadal uživatel. Pokud se rovnají tak úspěch no bla bla bla. Jde o to, že se mi nic nezobrazuje, žádná chybová hláška, nic. Pomocí var_dump() si zjistím jestli se ze souboru opravdu udělalo pole a ano. Dokonce jsem zjistil, že díky té změně na pole se ke každému slovu přidal další znak (mezera). Tu jsem se pokusil odstranit díky rtrim(), ale také nic. Tak si myslím, že to je asi přetížením, ale když přidám sleep(0.2), tak také nic. Asi někde mám úplně banální chybu nebo už nevím. Mohli byste mi prosím nějak poradit? :-D

<?php
    $lines = file("passwords.txt");
    //var_dump($lines);

    if(!isset($_POST["input"])){

    } else {
        $input = $_POST["input"];

        echo "<div style='margin: 0 auto; text-align: center;'>";
        foreach($lines as $line){
            //rtrim($line, " ");
            $result = hash("md5", $line);
                if($result == $input){
                    echo "<b>" . $input . "</b> - " . $line;
                    break;
                }
            //sleep(0.2);
        }
    echo "</div>";
}
?>
juriad
Profil
Ona to není mezera, ale je to konec řádku, který se v HTML vykreslí jako mezera.
Použij:
$lines = file("passwords.txt",  FILE_IGNORE_NEW_LINES);
icefireCZ
Profil
juriad:
Jééé, už to funguje :)

Děkuji moc, aspoň jsem se naučil něco nového :-D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: