Autor | Zpráva | ||
---|---|---|---|
David1256 Profil |
#1 · Zasláno: 7. 12. 2010, 20:06:42
Dobrý den, chtěl bych se zeptat, jak docílit toho, aby mi po přihlášení uživatele zmizel přihlašovací formulář. Zatím to mám tak, že by se mi vypsaly odhlašovací tlačítko, změna hesla atd. pod formulář, ale ten by tam zůstal pořád a to chci eliminovat, protože to je docela "divoké".
Tohle je script pro přihlašování (upozorňuji, že je to bez využití databáze) <?php if (isset($_POST["jmeno"]) and isset($_POST["heslo"])) {if (empty($_POST["jmeno"]) or empty($_POST["heslo"])) echo "<font color=red>Nevyplnili jste potřebná pole.</font>" ; else {if ($jmeno == "Holy" && $heslo == "kodecek") echo "Odhlášení, Změna hesla atd."; else { echo "<font color=red>Zadali jste nesprávné údaje.</font>"; }}} ?> Přihlašovací formulář: <form method="post"> <span class="font3">Jméno: </span> <input class="input1" type="text" name="jmeno" > <?php if (isset($_POST["heslo"])) {if (empty($_POST["jmeno"])) echo "<br><font color=red>Nejdříve vyplňte pole.</font>"; else if (isset($_POST["jmeno"])) {if ($jmeno != "Holy") echo "<br><font color=red>Zadané jméno není v databázi.</font>" ;} }?> <br> <br> <span class="font3">Heslo: </span> <input class="input1" type=password name="heslo" > <?php {if (isset($_POST["heslo"])) if (empty($_POST["heslo"])) echo "<br><font color=red>Nejdříve vyplňte pole.</font>"; else if (isset($_POST["heslo"])) {if ($heslo != "kodecek" ) echo "<br><font color=red>Zadané heslo není správné.</font>" ;} }?> <br><br> <center><input type=submit value="Přihlásit se"></center> </form> |
||
HajekJirka Profil |
#2 · Zasláno: 7. 12. 2010, 20:10:35 · Upravil/a: HajekJirka
David1256:
Napovím Ti: podmínka (byl_odeslán_formulář) { //ano byl, tak se přihlásím } else { //tady vypíšu formulář... } |
||
panther Profil |
#3 · Zasláno: 7. 12. 2010, 20:11:19
David1256:
formulář dej do té else větve na 9. řádku (buď vypiš odkazy „odhlásit“, atp., nebo formulář).
Možná bude chtít upravit ještě někde něco dál, odmítám se v tomto neodsazovaném kódu přehrabovat. Myšlenku jsem vyjádřil. |
||
David1256 Profil |
#4 · Zasláno: 7. 12. 2010, 20:25:35
Tak tenhle způsob mě už taky napadl, ale pokud se nepletu, tak to nemůže fungovat. A to z toho důvodu, že přece první musím vypsat formulář, abych mohl zadat hodnoty. Takže testovat, že když není správně vyplněný formulář tak ho vypiš je nesmysl, protože ten nebude nikdy správně vyplněný, pokud nebude ještě před tím zobrazený.
|
||
David1256 Profil |
#5 · Zasláno: 7. 12. 2010, 20:27:56
HajekJirka:
....Tak se přihásím, ale já právě potřebuju vědět, jak provést to tvoje přihlásím se, tzn. po přihlášení se zbavit formuláře. |
||
panther Profil |
#6 · Zasláno: 7. 12. 2010, 20:30:05
David1256:
tak jinak. Standardně se to řeší tak, že pokud je prázdná sessiona, která detekuje, zda je uživatel přihlášen, vypíše se formulář. Po odeslání formuláře, kontrole dat a úspěšném přihlášení, se tato session naplní. A formulář se nezobrazí, protože je vázán na prázdnou sessionu.
|
||
David1256 Profil |
#7 · Zasláno: 7. 12. 2010, 21:04:01
A nemohl byste mi tu někdo naznačit do kódu, jak do toho ty session zapracovat?
|
||
panther Profil |
#8 · Zasláno: 7. 12. 2010, 21:06:37
David1256:
Nejčastější potíže s PHP (FAQ) |
||
David1256 Profil |
#9 · Zasláno: 7. 12. 2010, 21:35:08 · Upravil/a: David1256
Díky, zkrátka se to ještě musím doučit nejde vše z minuty na minutu. Prozatimně jsem to pořešil né zrovna košér přes ajaxLoader. A to asi tak, že pokud se uživatel úspěsně přihlásí, do divu s přihlašovacím formulářem se načte stránka bez přihlašovacího formuláře s odkazy jako např. odhlásit se atd.
|
||
Časová prodleva: 13 let
|
0