Autor | Zpráva | ||
---|---|---|---|
La_ToRaNTe Profil |
#1 · Zasláno: 1. 5. 2005, 19:22:51
Nazdárek. Chtěl jsem udělat přihlašování pro admina, dopadlo to nějak takhle :
///////////////////////////////////////////////////////////// <html> <body> <form name="login" method="post" action="<? echo $SERVER['PHP_SELF']; ?>"> <input type="hidden" name="action" value="send"> <label for="user_name">Jmeno:</label> <input id="user_name" type="text" name="user_name"><br> <label for="password">Heslo:</label> <input id="password" type="password" name="password"><br> <input type="submit" value="Přihlásit"> <? ob_start (); session_start(); $user_name = $_POST['user_name']; $password = $_POST['password']; $connection = mysql_connect(DB_HOST, DB_USERENAME, DB_PASSWORD) or die(mysql_error()); mysql_select_db(DB_NAME, $connection) or die(mysql_error()); $query = "SELECT * FROM uzivatele WHERE name='$user_name' AND pass='$password' AND rights >= '1'"; $result = mysql_query($query) or die('error making query'); $affected_rows = mysql_num_rows($result); if($affected_rows == 1) { $_SESSION['user_name'] = $user_name; ?> <div id="all"> <div id="stred"> <div id="Menu"> <div class="menunadpis">MENU</div> <a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>">Úvod</a> <a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=book&PHPID=<? echo session_id (); ?>">G-Book</a> <a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=new">Novinky</a> <a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=xpeople">X-people</a> <a class="xbutton" href="<? echo $_SERVER["PHP_SELF"]; ?>?x=odkazy">Odkazy</a> </p> </div> TADY SE ZOBRAZUJI SEKCE </div> </div> </body> </html> <? }else { print 'Na tuto sekci nemáte přístup!'; } } else { echo "Zadejte přihlašovací údaje."; } ob_end_flush (); ?> ///////////////////////////////////////////////////////////// Jenže, když se člověk přihlásí a klikne na odkaz tak ho to jakoby odhlásí a je zas na formuláři s přihlašováním a já nevim, jak to udělat..aby byl pořád přihlášený :-( Se "SESSIONS" jsem nikdy nedělal. Ale chci se to na tomhle naučit.. čet jsem asi dva seriály, ale z těch jsem to nějak nepobral. |
||
Martin Profil |
#2 · Zasláno: 1. 5. 2005, 19:26:56
session_start(); Musí být úplně na začátku, před jakýmkoli výstupem, myslim, zkusto.
|
||
La_ToRaNTe Profil |
#3 · Zasláno: 1. 5. 2005, 21:07:55
Tyjo, nevyzná se tu někdo v SESSIONS ?? Prosíím...
Jinak, tamto pořád nejde.. :-( |
||
ash Profil |
#4 · Zasláno: 1. 5. 2005, 21:26:24 · Upravil/a: ash
Na začiatku strávky, ešte pred výpisom formulára na prihlasovanie testuj, či je prihlásený:
if (!isset($_SESSION['user_name']) { neexistuje záznam v session, vypíšem prihlasovací formulár }else{ užívateľ je prihlásený, zobrazujem stránku } Nezabudni presunúť session_start() celkom na začiatok |
||
23k Profil |
#5 · Zasláno: 2. 5. 2005, 00:29:01
NE!
ob_start(); session_start(); nech tak jak mas. A ob_end_flush presun pod TADY SE ZOBRAZUJI SEKCE . Cili takto TADY SE ZOBRAZUJI SEKCE ob_end_flush(); |
||
ash Profil |
#6 · Zasláno: 2. 5. 2005, 07:58:34 · Upravil/a: ash
ob_start();
session_start(); o.k., v takom poradí, ale pred HTML výstupom. Ale myslím, že v takom nenáročnom skripte je zbytočné používať ob_.... |
||
23k Profil |
#7 · Zasláno: 2. 5. 2005, 10:07:32
No kdo si na to jednou navykne ;)
|
||
La_ToRaNTe Profil |
#8 · Zasláno: 3. 5. 2005, 00:49:23
Už to funguje. Všem děkuji. Akorát pak takhle nemůžu zružit to přihlášení..
if ($_GET['action']=="logout"){ session_destroy("user_is_logged"); header("location: ../index.php"); ob_end_flush (); } ..... |
||
La_ToRaNTe Profil |
#9 · Zasláno: 3. 5. 2005, 00:56:36
Už sem to opravil. Všechno šlape jak má.
Díky lidíčky ! |
||
Anonymní Profil * |
#10 · Zasláno: 3. 5. 2005, 09:58:34
La_ToRaNTe
inak da sa to jednoducho, ja som to minule riesil.neodkazuj sameho na seba, keby si dal skript s vyhodnotenim formulara zvlast tak ti to robit nebude a session musi byt vzdy na zaciatku. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0