Autor Zpráva
martin55
Profil *
Ahojte, mám kontaktný formulár a toto mi to píše keď dám odoslať Deprecated: Function eregi() is deprecated in ...

Na inom hosting-u mi tento kód funguje ale na novom kde to teraz dávam už nie.

A takto vyzera kod ktorého sa hláška týka:

if (!eregi("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,6}$", $email)){
$email_icon="<img style='cursor:help; vertical-align:middle;' src='/images/icon-alert.png' alt='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.' title='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.'/>";
        $color1="red";
        $kontrola="KO"; 
}


Neviem ako si stým dať rady.
Alphard
Profil
Ta funkce je zavržená, používejte rodinu preg_.
panther
Profil
martin55:
funkce ereg(i)* jsou zastaralé, nahraď ji za preg_*. Více v manuálu.
martin55
Profil *
Ďakujem za info ale ja som si toto našiel na nete a teda úprimne netuším ako to teraz upraviť aby to išlo :(.
panther
Profil
martin55:
na kontrolu emailu můžeš použít i fci filter_var.

Jinak, nastudovat rozdíl mezi syntaxí ereg_* a preg_* ti zabere asi tak 5 minut, jen se podívat, co ti odkazujeme s Alphardem, že?
martin55
Profil *
Je to možné ale mne asi nie, kukám do toho ale zatial sa mi nepodarilo to rozbehať iba dosiahnuť toho, že to tu hlášku nepíše.
martin55
Profil *
Zatiaľ som vyprodukoval toto, ale robí to opak toho čo potrebujem :).

if (preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $email)){
$email_icon="<img style='cursor:help; vertical-align:middle;' src='/images/icon-alert.png' alt='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.' title='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.'/>";
        $color1="red";
        $kontrola="KO"; 
}
martin55
Profil *
Ten predošlý je nesprávny, tento som chcel dať sem, ale keď zadám email správne tak to dáva akože je zle:

if (preg_match('/^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,6}+$/', $email)){
$email_icon="<img style='cursor:help; vertical-align:middle;' src='/images/icon-alert.png' alt='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.' title='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.'/>";
        $color1="red";
        $kontrola="KO"; 
}
Alphard
Profil
martin55:
ale robí to opak toho čo potrebujem
Popřemýšlejte, co v původním kódu dělal !.
Samotný regulár nekontroluji, všude se jich válí hromada.
martin55
Profil *
Alphard:
Jasné už to ide dal som to takto:
if (!preg_match ("/^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,6}+$/", $email)){
$email_icon="<img style='cursor:help; vertical-align:middle;' src='/images/icon-alert.png' alt='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.' title='Nevyplnili ste Vašu emailovú adresu alebo je zadaná v nesprávnom tvare.'/>";
        $color1="red";
        $kontrola="KO"; 
}


A chcem sa ešte opýtať aj keď troška mimo tohto ale zároveň sa to týka formulára.
Takto mám nastavené kódovanie ale nejak to nechce zobrazovať vo web emaily (Horde). Pri prijatej správe píše toto:

Táto správa bola napísaná v inej ako Vami používanej znakovej sade (utf-8).
Ak sa nezobrazí korektne, kliknite sem a otvorí sa v novom okne.


A v tom php na odosielanie mám toto:

$predmet = "=?utf-8?b?".base64_encode("Otázka z web formulára")."?=";
  $headers = "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html; charset=\"utf-8\"\r\n";
  $headers .= "From: =?utf-8?b?".base64_encode("$email")."?=<".$email.">\r\n";
  mail ("$to", $predmet, $telo, $headers);
martin55
Profil *
A ozaj za pomoc s tým prvým problém ďakujem !!!
DarkMeni
Profil
Když je ta funkce od verze 5.3.0 pryč, nevěděl by někdo rozdíly výrazů? Angličtinu zrovna moc neumim, PHP jsem se učil na linuxsoftu kde je to česky a regulerní výrazy tam jsou pro ereg, ale pro preg jsou asi jiné, všiml jsem si že se na začátek a na konec musí dát lomítko
preg_match("/(reg vyraz)/",$test)
a asi tam toho bude jinak víc, nezná někdo nějakou stránku kde by ty regulerní výrazy byly česky vysvětlené a nebo si nedal tu práci a napsal aspoň základní rozdíly? (třeba "[a-zA-Z]{2,4}+" tak u ereg tam to + být nemuselo a u preg musí?)
Alphard
Profil
Z českých webů je asi nejlepší http://www.regularnivyrazy.info/ a http://www.regexp.cz/ jako samostatné weby. Pak byl myslím ještě docela dobrý seriál na Zdrojáku. Ale pro většinu věcí stačí mrknout na shrnutí syntaxe.
Tori
Profil
Přehled testerů reg.výrazů: http://zdrojak.root.cz/clanky/nastroje-k-testovani-regularnich-vyrazu/

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:

0