Ĺadny brzuch
Witam! Mam takie pytanko: "Czy da się w php zrobić coś takiego, żeby np. ktoś poda swój login i klinknie na przycisk to wygeneruje mu się serial (oczywiście na podstawie jego loginu, tzn. użyje go jako klucza) zawieający tylko litery??"
P.S. Nie zależnie od loginu długość serialu powinna być taka sama/
Oczywiście, że możliwe. Kwestia tylko żębyś napisał sobie własną funkcję.
AFAIK w php jest funkcja md5_hash, może ona będzie dobra.
AFAIK w php jest funkcja md5_hash, może ona będzie dobra.
Ale md5 chyba zwraca liczby i litery ,a tu mialy być tylko litery ...
A dlaczego nie może być cyfr?
Ostatecznie możesz zrobić z tego crc, wstawić wynik do srand (nie wiem czy tam takie coś jest) i wylosować ciąg np. 20 liter.
Użytkownik krajew4 edytował ten post 16 lipiec 2006, 18:14
A czy mógłby mi ktoś przykładową funkcję podsunąc bo ja się na php to bardzo mało znam. Teoretycznie wiem chyba o co wam chodzi ale nie zabardz wiem jak to sklecić w całość
P.S. Cyfry też mogą być - byle by nie było żadnych znaków specjalnych itp.
A czy mógłby mi ktoś przykładową funkcję podsunąc bo ja się na php to bardzo mało znam. Teoretycznie wiem chyba o co wam chodzi ale nie zabardz wiem jak to sklecić w całość
P.S. Cyfry też mogą być - byle by nie było żadnych znaków specjalnych itp.
No to jak mogą być cyfry to zastosuj md5 w manualu php jest wszystko pieknie opisane ;)
A czy mógłby mi ktoś przykładową funkcję podsunąc bo ja się na php to bardzo mało znam
ajj
function haszuj($str) { return md5($str); } echo haszuj('login');
Chociaż to bez sensu - jesli używasz tylko jednej funkcji (md5) lepiej po prostu użyj od razu md5:
echo md5('login');
:)
PS. Możesz też hasz md5 zahaszować np. za pomoca sha1
Użytkownik Coldpeer edytował ten post 16 lipiec 2006, 18:55
To masz jeszcze przykład funkcji zwracającej serial z samych liter
<? function serial($nick) { $nickmd=md5($nick); $len=strlen($nickmd); for($i=0; $i<$len; $i++) if(ctype_digit((string)$nickmd[$i])) $nickmd[$i]=chr($nickmd[$i]+100); return strtoupper($nickmd); } if(!empty($_GET['nick'])) { $nick=$_GET['nick']; echo $nick.' - '.serial($nick); } else { echo '<form method="get"><input type="text" name="nick"><input type="submit" value="ok"></form>'; } ?>
Dzięki wielkie. Ale mam jeszcze jedno takie małe pytanko dotyczące md5 - bo ta fnkcja zwraca ciąg 32 (chyba) liczb i znaków. A w jaki sposób mógłbym pobrać tylko 25 pierwszych znaków i co 5 znaków przecielić je "-". ??
Dzięki wielkie. Ale mam jeszcze jedno takie małe pytanko dotyczące md5 - bo ta fnkcja zwraca ciąg 32 (chyba) liczb i znaków. A w jaki sposób mógłbym pobrać tylko 25 pierwszych znaków i co 5 znaków przecielić je "-". ??
Musisz skrócić ciag znaków za pomocą funkcji substr() i potem wykorzystując ta funkcję pociać ciag na mniejsze (substr($zmienna,$początek_ciecia,$koniec_cięcia)) i zapisać jako oddzielne zmienne ,a potem połączyć te zmienne znakami "-" ;)
Skomplikowane to trochę ale kumam bazę :D Dzięki wielkie za pomoc
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
P.S. Nie zależnie od loginu długość serialu powinna być taka sama/
Oczywiście, że możliwe. Kwestia tylko żębyś napisał sobie własną funkcję.
AFAIK w php jest funkcja md5_hash, może ona będzie dobra.
AFAIK w php jest funkcja md5_hash, może ona będzie dobra.
Ale md5 chyba zwraca liczby i litery ,a tu mialy być tylko litery ...
A dlaczego nie może być cyfr?
Ostatecznie możesz zrobić z tego crc, wstawić wynik do srand (nie wiem czy tam takie coś jest) i wylosować ciąg np. 20 liter.
Użytkownik krajew4 edytował ten post 16 lipiec 2006, 18:14
A czy mógłby mi ktoś przykładową funkcję podsunąc bo ja się na php to bardzo mało znam. Teoretycznie wiem chyba o co wam chodzi ale nie zabardz wiem jak to sklecić w całość
P.S. Cyfry też mogą być - byle by nie było żadnych znaków specjalnych itp.
A czy mógłby mi ktoś przykładową funkcję podsunąc bo ja się na php to bardzo mało znam. Teoretycznie wiem chyba o co wam chodzi ale nie zabardz wiem jak to sklecić w całość
P.S. Cyfry też mogą być - byle by nie było żadnych znaków specjalnych itp.
No to jak mogą być cyfry to zastosuj md5 w manualu php jest wszystko pieknie opisane ;)
A czy mógłby mi ktoś przykładową funkcję podsunąc bo ja się na php to bardzo mało znam
ajj
function haszuj($str) { return md5($str); } echo haszuj('login');
Chociaż to bez sensu - jesli używasz tylko jednej funkcji (md5) lepiej po prostu użyj od razu md5:
echo md5('login');
:)
PS. Możesz też hasz md5 zahaszować np. za pomoca sha1
Użytkownik Coldpeer edytował ten post 16 lipiec 2006, 18:55
To masz jeszcze przykład funkcji zwracającej serial z samych liter
<? function serial($nick) { $nickmd=md5($nick); $len=strlen($nickmd); for($i=0; $i<$len; $i++) if(ctype_digit((string)$nickmd[$i])) $nickmd[$i]=chr($nickmd[$i]+100); return strtoupper($nickmd); } if(!empty($_GET['nick'])) { $nick=$_GET['nick']; echo $nick.' - '.serial($nick); } else { echo '<form method="get"><input type="text" name="nick"><input type="submit" value="ok"></form>'; } ?>
Dzięki wielkie. Ale mam jeszcze jedno takie małe pytanko dotyczące md5 - bo ta fnkcja zwraca ciąg 32 (chyba) liczb i znaków. A w jaki sposób mógłbym pobrać tylko 25 pierwszych znaków i co 5 znaków przecielić je "-". ??
Dzięki wielkie. Ale mam jeszcze jedno takie małe pytanko dotyczące md5 - bo ta fnkcja zwraca ciąg 32 (chyba) liczb i znaków. A w jaki sposób mógłbym pobrać tylko 25 pierwszych znaków i co 5 znaków przecielić je "-". ??
Musisz skrócić ciag znaków za pomocą funkcji substr() i potem wykorzystując ta funkcję pociać ciag na mniejsze (substr($zmienna,$początek_ciecia,$koniec_cięcia)) i zapisać jako oddzielne zmienne ,a potem połączyć te zmienne znakami "-" ;)
Skomplikowane to trochę ale kumam bazę :D Dzięki wielkie za pomoc