ahojte, idem zase trosku pootravovat..
v databaze mam registrovanych uzivatelov s ich mailami.. registracia by nemala prebehnut pokial sa zada email ktory uz je v db. Lenze ked uzivatel zada Meno@email.sk a v db je meno@email.sk tak to v pohode zobere. Rozmyslal som aj nad tym ze by som urobil dalsi stlpec kde by sa zapisovali maily znasilnene cez strtolower a kontrolovat to tak.. Nejak som nezistil ci je velkost pismen dolezita (zeby som rovno adresy ukladal s malimi pismenami bez ohladu nato ako ich uzivatel zapisal, ale predpokladam ze je to blbost). Viete mi poradit nieco menej "prasiacke"? Dal by sa vyuzit mysql prikaz LIKE ?
Fórum › PHP
Kontrola existencie e-mailu v databaze
zkus nastavit sloupci porovnani case insensitive.
praveze nechcem pouzivat nijake nastavenia na stlpcoch (teda unique a jemu podobne..).. najlepsie by to bolo v php-ecku..
To marioff : ano proc se snazit dostat pres D1 autem kdyz muzu jit pesky,...
databaze je obvykle pomerne slusne pripravena na ruzne porovnavani a podobne..
zatim co php je interpret ...
krom toho na velikosti pismen u emailu nezalezi.. tim padem neni problem si je ukladat rovnou malejma...
pak pokud si dobre pamatuju pouzijes li utf8_general_ci tak srovnava pomoci like aniz by zalezelo na velikosti (mozna i diakritice)
To KIIV : dokelu uz mi to vravi vela ludi (ze robim zlozito aj ked sa da jednoducho), musim sa nejako polepsit.. diki za rady , odskusam a dam vediet..
mal som podobny problem .. skus to spravit cez funkciu napr. takto
function emailTaken($email){
if(!get_magic_quotes_gpc()){
$email = addslashes($email);
}
$q = "SELECT email FROM ".TBL_USERS." WHERE email = '$email'";
$result = mysql_query($q, $this->connection);
return (mysql_numrows($result) > 0);
}
potom zavolas funkciu a a opytas sa ci zadany mail sa zhoduje s mailom v databaze
lenze tvoj kod nezisti rozdiel medzi Meno@server.sk a meno@server.sk ....
edit: teda zle som sa vyjadril... budu to pre neho 2 rozdielne stringy..
To Tocimanko : ide mi o to aby mi v db naslo zhodu bez ohladu na velkost pismen... teda Meno@server.sk == meno@server.sk. Teda aby si nemohol clovek zaregistrovat ucet z rovnakym emailom..
jj akurat som to dotestoval email je case insensitive... ja som si myslel opak.. takze urobim to tak ze ho budem ukladat cez strtolower..
Pokud je e-mail case sensitive a ty budeš všechny adresy ukládat po strtolower, nebude pak problém, když se budou registrovat dva uživatelé, dejme tomu abc@seznam.cz a ABC@seznam.cz? :) Jako chápu že shoda emailu asi není tak častá, ale není to moc košér, ne?
To Kobi : ale email je case insensitive, cize to je jedno ako ho ulozis.. ale lepsie je ho ulozit v jednotnom formate (cize malimi pismenami) aby nemohlo dojst k dvojitemu vlozeniu... alebo mas nejake informacie ze sa mylim?? Ze je mail case sensitive.?
jen blazni pouzivaj v mailu velka pismena. + teda jeste BFU.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kontrola zapsanych dat v tabulce z databaze — založil caesar
Zistenie existencie suboru — založil marioff
Zistenie existencie alebo pristupnosti www stranky v C# — založil Tomas
Odoslanie mailu v C# — založil Tomas
Poslání e-mailu — založil minarth
Moderátoři diskuze