[PHP & MYSQL] zaznam v tabulce ?

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod cejdap 13. 8. 2008 18:35

Ahoj
mam v MYSQL tabulku uzivatele a v ni jsou zaznamy o uzivatelich jmeno, heslo a mail.

Ja nevim jak udelat kdyz zakladam noveho uzivatele (registrace) jak poznat jestli ten uzivtel uz wxistuje ? Je na to nejaky dotaz na databazi?
Diky za rady :)
cejdap
Junior
Uživatelský avatar

Odeslat příspěvekod SGS 13. 8. 2008 18:58

ze by udelat dotaz jeslti tam uz je nekdo se stejnym jmenem/mailem/loginem?
Doba temna skonci a IE bude zniceno
SGS
Junior
Uživatelský avatar

Odeslat příspěvekod cejdap 13. 8. 2008 19:03

A muzes mi pls ric jaky je ten dotaz ?
cejdap
Junior
Uživatelský avatar

Odeslat příspěvekod KillmanCZE 13. 8. 2008 20:27

Kód: Vybrat vše
SELECT * FROM uzivatele WHERE jmeno='$jmeno'
I am a signature virus. Please help me spread by copying me into your signature.
KillmanCZE
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod agharthor 14. 8. 2008 14:33

No ako si pisal, v podstate tak to moze byt
Kód: Vybrat vše
SELECT * FROM uzivatele WHERE jmeno='$jmeno'


ale preco nepomoct trosku viac, nech si ludia navyknu na trosiku optimalizacie, bezpecnosti a co ja viem coho uz?

Prepokladam ze ako primary key v tabulke UZIVATELE mas stlpec ID, potom:
Kód: Vybrat vše
SELECT id FROM uzivatele WHERE jmeno = '$jmeno'


Vyhodou je, ze SQL ti nebude do kodu vracat heslo a pri tisicich zaznamoch to 'nezatazi' SQL server.

Kód: Vybrat vše
$user_existuje = 0;
$result = mysql_query("SELECT id
                               FROM uzivatele
                               WHERE jmeno = '$jmeno'
                                 ")
if(mysql_num_rows($result)) $user_existuje = 1;      //ak existuje zaznam, tak pouzivatel uz s takym menom je 'regnuty'


Snad som to moc neskomplikoval ;)
agharthor
Kolemjdoucí

Odeslat příspěvekod cejdap 14. 8. 2008 15:00

2 agharthor
diky :)
cejdap
Junior
Uživatelský avatar

Odeslat příspěvekod cejdap 18. 8. 2008 08:47

Jeste bych se chtel zeptat, kdyz mam formular ve kterem se vyplnuje jmeno, email a heslo. Jak neklepe zkontrolovat jesteli je vse zadane a email muze byt platny ? Phpeckem nebo je lepsi javascript ?
cejdap
Junior
Uživatelský avatar

Odeslat příspěvekod doublemcz 18. 8. 2008 10:00

Tohle bych řešil spíš javascriptem
doublemcz
Kolemjdoucí

Odeslat příspěvekod SGS 18. 8. 2008 10:55

Ne. Idealne oboje, JS aby nemusel posilat request, ale PHP je NUTNE protoze JS muze vypnout
Doba temna skonci a IE bude zniceno
SGS
Junior
Uživatelský avatar

Odeslat příspěvekod cejdap 18. 8. 2008 11:16

mam tenhle form

Kód: Vybrat vše
<form action="registrace.php" method="post">
         Jmeno: <input type="text" name="jmeno" size="20"/><br/>
         Heslo: <input type="text" name="heslo" size="40"/><br/>
      Email: <input type="text" name="email" size="40"/><br/>
         <br/>
         <input type="submit" value="Vlozit"/>
         <input type="hidden" name="add" value="1"/>
      </form>

jak pomoci js zkontroluju jestli je vyplnene policko jmeno, heslo a email je validni :)

Obrázek Mývalice: Na vkládání zdrojových kodů používej tag [Code].
cejdap
Junior
Uživatelský avatar

Odeslat příspěvekod gandor 18. 8. 2008 11:43

najlahsie bude ked si to vygooglis a najdes podrobny popis ale mozem skusit vysvetlit postup.
1, pridaj kazdemu inputu id
2, ziskaj hodnotu daneho elementu cez getElementById.value
3, kontroluj ako akykolvek iny text ( .length>0 , .indexOf a podobne)
gandor
Mírně pokročilý

Odeslat příspěvekod cejdap 19. 8. 2008 12:05

Diky moc za rady :)

ted bych jeste potreboval, mam 2 tabulky jednu uzivatele ve ktere je id, jmeno, heslo, email a druhou kniha kde jsou id, datum, uzivatel, text a uzivatel by mel byt cislo id z prvni tabulky.
Jak udelat aby pri ukladani zaznamu do knihy poznal id uzivatele a pri vypisovani misto id napsal jmeno uzivatele :)
cejdap
Junior
Uživatelský avatar

Odeslat příspěvekod jojko211 19. 8. 2008 12:32

jednoducho dvoma querami alebo da sa aj jednou.
$jmeno = mysql_query("select jmeno from tabulka where id = '$id' LIMIT 1");
a potom insert
mysql_query("INSERT into tabulka(field1,jmeno)values(hodnota1,'$jmeno')");
alebo
mysql_query(
"INSERT into tabulka(jmeno)
SELECT jmeno FROM tabulka WHERE id = '$id' LIMIT 1"
);
jojko211
Junior

Odeslat příspěvekod gisat_cz 25. 8. 2008 18:26

já bych to napsal do jednoho dotazu , dva dotazy jsou blbost
gisat_cz
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků