Autor | Zpráva | ||
---|---|---|---|
Dalibor1 Profil |
#1 · Zasláno: 28. 1. 2013, 15:53:03
Dobrý den,
potřeboval bych pomoci s níže uvedeným scriptem. Je volně ke stažení na netu, ovšem jsem začátečník v php a stále při tomto začlenění do www stránek mi píše, že adresa je neplatná. Funkci ereq jsem již nahradil if (preg_match("/^[\w-\.]+@([\w-]+\\.)+[a-zA-Z]{2,4}$/", $email)) ovšem stále se nic neděje. prosím o pomoc. Chápu, že lepší by bylo zapisovat do databáze, ale to si zatím netroufám. pridej.php <? if (ereq("^.+@.+\\..+$",$email)) { ?> Váš email byl přidán do databáze.<br>Budete pravidelně informováni o změnách na těchto stránkách. <br><a href="javascript:history.go(-1)">Zpět</a> <? @mail($email,"Přidání emailu do databáze","Váš email byl na Vaše přání přidán do naší databáze.","From: odesilatel@server.cz"); @$filename="data/emaily.txt"; @$fp = fopen($filename,"r"); @$obsah = fread( $fp, filesize( $filename ) ); @fclose( $fp ); $obsah=$email."\n".$obsah; @unlink($filename); @$fp = fopen($filename,"w"); @fwrite( $fp , $obsah); @fclose($fp); } else { ?> Neplatně zadaná e-mailová adresa.<br><a href="javascript:history.back()">Zpět</a> <? } ?> |
||
Davex Profil |
#2 · Zasláno: 28. 1. 2013, 19:38:29
Kde se bere proměnná
$email a co obsahuje? Pokud jí odesíláš z formuláře, tak by se mělo používat podle použité metody pole $_GET['email'] nebo $_POST['email'] .
Kromě toho by bylo efektivnější a bezpečnější, kdyby se nová adresa nezapisovala na začátek souboru (s potřebou načtení celého souboru, smazání a nového uložení), ale přidávala se na konec. file_put_contents($filename, $_GET['email'] . "\n", FILE_APPEND); Používat @ skoro na každém řádku také není dobrý nápad. |
||
Časová prodleva: 11 let
|
0