| Autor | Zpráva | ||
|---|---|---|---|
| Zoomer Profil * |
#1 · Zasláno: 22. 10. 2010, 00:13:24
Zdravím,
potřeboval bych poradit - dělám pro vlastní účely takový menší flat file cms - jak se říká v jednoduchosti síla, a bude to používat maximálně pár lidí z týmu. Nejjednodušší registrace, ovšem u ní mám problém Kód který mi přidá do souboru user.txt na nový řádek každého zaregistrovaného uživatele, jenže takhle se mi pod danou přezdívkou nebo e-mailem může zaregistrovat 100 lidí a já neumím udělat ten proces, který by zahulákal, že přezdívku nebo e-mail už někdo používá Nepomohl by někdo ? Kód zpracování: $jmeno = $_POST['jmeno'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
if($pass1==$pass2){$new_pass = md5($pass1);}
if($jmeno!="" and $email!="" and $pass1!="" and $pass2!="" and $pass1==$pass2){
$soubor = fopen("data/user.txt","a");
fwrite($soubor, "$jmeno||$new_pass||$email\n");
fclose($soubor);
echo '<p>'.$lang['reg_uspech'].'</p>';
}
else{
echo '<h1>'.$lang['reg_neuspech'].'</h1>';
if(empty($jmeno)){echo '<p>'.$lang['reg_err_jmeno'].'</p>';}
if(empty($email)){echo '<p>'.$lang['reg_err_email'].'</p>';}
if(empty($pass1)){echo '<p>'.$lang['reg_err_heslo'].'</p>';}
if(empty($pass2)){echo '<p>'.$lang['reg_err_repheslo'].'</p>';}
if($pass1!=$pass2){echo '<p>'.$lang['reg_err_neshoda'].'</p>';}
echo '<p>'.$lang['reg_pokracovat'].'</p>';
} |
||
| AM_ Profil |
#2 · Zasláno: 22. 10. 2010, 12:06:52
Poradím ti naučit se s mysql. To se dá zvládnout za jedno odpoledne, kdežto při práci se soubory budeš narážet znovu a znovu na problémy, které už někdo dávno vyřešil tím, že vymyslel databáze, tak proč znova vynalézat kolo.
Na tvůj problém nevím o lepším řešení, než projít všechny zaregistrované uživatele a zjistit, jestli už stejný neexistuje. Samozřejmě pak budeš narážet na ošetření kritických sekcí, kdy se dva uživatelé registrují v jednu chvíli se stejnou přezdívkou a program tomu nezabrání (a stavět si na to semafor v PHP taky není legrace), to je nad databázemi také vyřešené, atd... |
||
| DJ Miky Profil |
#3 · Zasláno: 22. 10. 2010, 13:12:16
A když už chceš použít soubory, tak jednodušší řešení bude ukládat serializované pole (viz funkce serialize() a unserialize()). Pak už můžeš jednodušeji hledat, jestli je jméno již zabrané.
|
||
|
Časová prodleva: 16 let
|
|||
0