![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Otóż mam autorski skrypt logowania, który rejestruje zmienne : ID usera i jego hasło. W obrębie jednej sekcji (części mojego serwisu) dane te są przechowywane wzorowo, we wszystkich podstronach. Na innych sekcjach mam includowany ten sam plik z autoryzacją i chciałbym, aby logowanie ise na jednej stronie równało się logowaniu na wszystkich innych. Jednak pomimo tego, że sesje startuję zawsze na początku wsdzystkich indexów sekcji (przed kodami html), po sprawdzeniu echo '<pre>'; print_r($_SESSION); echo '</pre>'; zmienne nigdy nie wychodzą poza obręb danej sekcji, w której zostały zarejestrowane. Jeśli potrzeba kodu skryptu autoryzującego, oto on: Kod <?php
session_start(); $COMMON_INCLUDED=1; $register_script = "./register.php"; function auth_user($userid_log, $haslo_hash) { global $default_dbname, $user_tablename; $link_id = db_connect($default_dbname); $query = "SELECT username FROM $user_tablename WHERE userid = '$userid_log' AND userpassword = '$haslo_hash' AND ok = '1'"; $result = mysql_query($query); if(!mysql_num_rows($result)) return 0; else { $query_data = mysql_fetch_row($result); return $query_data[0]; } } function login_form() { global $PHP_SELF; echo "<center>Czym jest <A HREF=\"$PHP_SELF?action=why\">system</A> i dlaczego warto założyć w nim <A HREF=\"$PHP_SELF?action=why\">konto</A>?</center>"; echo "<HR WIDTH=\"75%\" ALIGN=\"center\">"; echo "<CENTER>Nie masz konta? <A HREF=\"$PHP_SELF?action=registeruser\">Zarejstruj się</A>!</CENTER> <BR>"; ?> <FORM METHOD="POST" ACTION="<? echo $PHP_SELF ?>"> <DIV ALIGN="CENTER"><CENTER> <TABLE BORDER="0" WIDTH="115" CELLPADDING="1"> <TR> <TH WIDTH="18%" ALIGN="RIGHT" NOWRAP><b>ID</b></TH> <TD WIDTH="33%" NOWRAP> <INPUT TYPE="TEXT" NAME=userid_log style="color: #B3B2B2; background-color: #000000; border-style: ridge; border-color: #B3B2B2" SIZE="8"> </ID> </TR> <TR> <TH WIDTH="18%" ALIGN="RIGHT" NOWRAP><b>Hasło</b></TH> <TD WIDTH="33%" NOWRAP> <INPUT TYPE="PASSWORD" style="color: #B3B2B2; background-color: #000000; border-style: ridge; border-color: #B3B2B2" NAME=userpassword_log SIZE="8"> </ID> </TR> <TR> <TD WIDTH="75%" COLSPAN="2" ALIGN="CENTER" NOWRAP> <INPUT TYPE="SUBMIT" VALUE="LOGOWANIE" style="color: #B3B2B2; background-color: #000000; border-style: ridge; border-color: #B3B2B2" NAME="Sumbit"> </TD> </TABLE> </CENTER></DIV> </FORM> <center>Zapomniałeś hasła? Klikij <? echo "<a href=\"$PHP_SELF?action=remind\">tutaj</a>!"; ?></center> <? } if(!isset($userpassword_log)) { login_form(); } else { session_register("userid_log", "userpassword_log"); $haslo_hash = sha1($userpassword_log); $username = auth_user($userid_log, $haslo_hash); global $userid; if(!$username) { session_unregister("userid_log"); session_unregister("userpassword_log"); echo "<center>Autoryzacja użytkownika nie udana!</center>"; } else { echo "Udało się!"; } } ?> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 29.04.2002 Skąd: jesteś? Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź czy identyfikator sesji jest na pozostałych podstronach taki sam jak na stronie głównej, może nie jest on poprawnie przekazywany w cookie lub innej metodzie jakiej używasz.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 21:35 |