| Autor | Zpráva | ||
|---|---|---|---|
| swift Profil * |
#1 · Zasláno: 26. 5. 2007, 09:53:56
Robil som kontrolu mena a hesla, ktore sa zada z fieldu a ma spracovat sciprt ci taka talulka z nazvom a heslom existuje. Tabulka je ako uzivatelske meno a heslo je v riadku.
script: <?php include('config.php'); $meno = $_POST['meno']; $heslo = $_POST['heslo']; $kontrola = mysql_query("SHOW TABLE STATUS FROM admin LIKE 'heslo'='admin'"); $kontrola_udajov = mysql_num_rows($kontrola); if ($kontrola_udajov == 1) { echo "meno sa zhoduje"; } else { echo "meno sa nezhoduje"; } ?> Problém ám s týmto: "SHOW TABLE STATUS FROM admin LIKE 'heslo'='admin'" keď používam iba LIKE všetko ide, ale keď tam dám FROm, tak mi to píše chybu, alebo keď dám iba FROM. Ale ked dam iba like, tak mi najde heslo vo vsetkych tabulkach a ja chcem aby sa heslo zhodovalo iba v tej jednej tabulke, ktoru si nadefinujem ako uzivatelske meno. Nevie mi niekto s tym pomoct ako to rozchodit? dik. |
||
| Mastodont Profil |
#2 · Zasláno: 26. 5. 2007, 09:59:32
Proč SHOW TABLE STATUS ????
|
||
| swift Profil * |
#3 · Zasláno: 26. 5. 2007, 10:09:40
Používal som túto funkciu pri registračnom formulári ako kontrolu ci uzivatel existuje a zdala sa mi jednoduchá a asi najlepšia, ale tam som používal iba LIKE. Pokiaľ by si vedel niečo lepšie tak povedz. Skúšal som to aj cez SELECT, alebo COUNT, ale nešlo mi to.
|
||
| Mastodont Profil |
#4 · Zasláno: 26. 5. 2007, 10:46:40
A skutečně ti kontrola existence uživatele fungovala přes tento příkaz? Ten totiž slouží k výpisu infomací o tabulkách a jeho syntaxe je
SHOW TABLE STATUS FROM `databáze` LIKE `tabulka`; Ve tvém případě chceš vybírat data a tam to je prostě SELECT. |
||
| swift Profil * |
#5 · Zasláno: 26. 5. 2007, 12:00:17
SHOW TABLE STATUS LIKE `tabulka`; toto mi fungovalo pri registracnom formulari ktory overoval ci uzivatelske meno existuje. SELECT som skusal, ale nefungovalo to :(. Mozno som tam neco robil zle...
|
||
| swift Profil * |
#6 · Zasláno: 26. 5. 2007, 12:57:17
No ciastocne som to spravil a to takto:
<?php include('config.php'); $meno = $_POST['meno']; $heslo = $_POST['heslo']; $kontrola = mysql_query("SELECT * FROM ".$meno." WHERE heslo='".$heslo."'"); if ($kontrola != 0) { echo "meno sa zhoduje"; } else { echo "meno sa nezhoduje"; } ?> Problem je ze kontroluje iba meno a nie aj heslo. |
||
| djlj Profil |
#7 · Zasláno: 26. 5. 2007, 13:08:02
swift
To chceš říct, že máš pro každýho uživatele speciální tabulku?! $kontrola = mysql_query("SELECT 1 FROM `tabulka WHERE `jmeno`='".$jmeno."' AND `heslo`='".$heslo."'"); if (mysql_num_rows($kontrola) == 1) { echo "meno sa zhoduje"; } else { echo "meno sa nezhoduje"; } |
||
| swift Profil * |
#8 · Zasláno: 26. 5. 2007, 13:17:31
Ano kazdy uzivatel ma svoju tabulku, lebo ten uzivatel vytvara este svoje data a bol by v tom bordel a tych dat bude moct byt dost takze je to takto najlepsie.
|
||
| djlj Profil |
#9 · Zasláno: 26. 5. 2007, 13:20:54
lebo ten uzivatel vytvara este svoje data a bol by v tom bordel
Ale nebyl, a to myslím z vlastní zkušenosti (viz stránka v mém profilu). takze je to takto najlepsie Když myslíš… |
||
| Mastodont Profil |
#10 · Zasláno: 26. 5. 2007, 13:24:02
swift
Prostuduj si něco o návrhu databází ... |
||
| swift Profil * |
#11 · Zasláno: 26. 5. 2007, 13:41:27
No ale musi sa to dat aj takto... ci to ma vyznam, alebo nema.
|
||
| Mastodont Profil |
#12 · Zasláno: 26. 5. 2007, 13:58:25
Samozřejmě se to dá dělat i takhle - stejně jako můžeš levou ruku dát za hlavu a podrbat se za pravým uchem (normálně se to dělá pravou rukou)
|
||
|
Časová prodleva: 18 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0