Nie za bardzo rozumiem tego programowania obiektowego, więc dla treningu, chciałem napisać prosty skrypt do hashowania słów.
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
if(!empty($_POST['hash'])) { $md5 = $_POST['hash'];
echo "Wpisane słowo: <b>$md5</b><br>"; echo "Zahashowane md5: <b>$md5</b><br>"; $sha1 = $_POST['hash'];
$sha1 = sha1($sha1);
echo "Zahashowane sha1: <b>$sha1</b><br>"; }
?>
<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;
$hash_md5 = md5($hash_md5); 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.