Kiedyś taki był mi potrzebny więc napisałem go, teraz chciałem uzyskać taki sam efekt stosując klasy ;p.
A więc pierwotny:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>MD5 i SHA1</title> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> </head> <style type="text/css">body {font-size: 12; font-family: Arial;}</style> <body> <?php $md5 = $_POST['hash']; $sha1 = $_POST['hash']; $sha1 = sha1($sha1); } ?> <form action="md5.php" method="POST"> <label>Wprowadź słowo do zahashowania: </label><input type="text" name="hash" value=""><input type="submit" value="Koduj"> </form> </body> </html>
I nowy:
<?php class hash { var $hash; var $blad=''; public function hash_md5($hash_md5) { $hash_md5 = $this->hash; return $hash_md5; } public function hash_sha1($hash_sha1) { $hash_sha1 = $this->hash; $hash_sha1 = sha1($hash_sha1); return $hash_sha1; } } class sprawdz extends hash { function __construct($hash) { $blad = '<span style="color: red;">Wypełnij pole</span>'; return $blad; } } } $hashuj = new hash(); $sprawdzaj = new sprawdz($_POST[hash]); if($sprawdzaj->blad!='') { } else { $hashuj->hash_md5($_POST[hash]); $hashuj->hash_sha1($_POST[hash]); } ?> <form action="klasa_hashujaca.php" method="POST"> <label>Wprowadź słowo do zahashowania: </label><input type="text" name="hash" value=""><input type="submit" value="Hashuj"> </form>
Oczywiście pierwotny działa, a nowy... no właśnie.
Jak to bywa na początkach zawsze nie wychodzi.
Mimo, że nic nie wpisałem Pokazuje się:
Wpisane słowo:
MD5:
SHA1:
[formularz]
a gdy wpiszę słowo, pokazuje się wpisane słowo: [słowo]
i dalej przy MD5 i SHA 1 jest pusto.
PHP nie zgłasza żadnych błędów więc piszę tutaj, bo jak mówię ni znam się na programowaniu obiektowym i tym skryptem chcę załapać o co w tym dokładnie chodzi
Z góry dzięki za pomoc w nauce ;p
Pozdrawiam.