![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam...
Wiec chcial bym przedstawic skrypt do sprawdzenia i zweryfikowania jego poprwnosci. [php:1:65ebba2d2d]<table width=320 height=0 cellspacing=1 cellpadding=1> <tr> <td>nick</td> <td>mail</td> <td>poziom</td> </tr> <? $dir = "includes/users"; // sciezka gdzie znajduja sie users $dp = opendir($dir); while($users = readdir($dp)) { $users = str_replace(".dat", "", $users); $users = str_replace(".", "", $users); if ($users) { include("includes/users/$users.dat"); echo " <tr> <td>$log</td> <td><a href='mailto:$mail'>$mail</a></td> <td>$lev</td> </tr>"; } } closedir($dp); ?> </table> [/php:1:65ebba2d2d] Jak widac skrypt ten pobiera pliki z danego folderu. W folderze pliki wygladaja tak $login.dat gdzie $login to imie danego, zarejestrowanego uzytkownika. Potem pobieram tylko potrzebne mi zmienne z pliku $login.dat(np Robert.dat, Miko.dat) i wrzucam je do tabeli. I z tym wszytko jest ok, lecz jezeli bedac wlasnie na stronie gdzie znajduje sie ten skrypt i podejme jaka kolwiek akcje, zostaje natychmiast automatycznie przelogowany do ostatniego uzytkownika z listy. I tak jest w kolko. Logowanie mam na sesjach tak dla sprostowania. Mogl by ktos pomoc rozwiklac mi moj problem. Domyslalm sie ze moglem nie sprecyzowac tego ladnie , lecz sie staralem ![]() Za jaka kolwiek pomoc bede bardzo wdzieczny. Z tym kodem morduje sie od kilku ladnych dni i nie moge sobie za zadne skarby z nim poradzic Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Co to znaczy?
Cytat [...] i podejme jakakolwiek akcje, [...]
Jaką akcję? -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Tzn gdy klikne w jaki kolwiek link lub cos w tym stylu....by mnie przeprowadzilo do innej strony. Wystarczy ze likne w jaki kolwiek link i zostaje automatycznie przelogowany.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie rozumiem co ma ten skrypt robić. Bo ten co przedstawiłeś to on wypisuje i dołącza wszystkie pliki z katalogu.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dokladnie. Tak jak myslisz ma wypisywac pliki bym mogl pobierac potem z nich zmienne lecz jak juz pisalem z tego skryptu zostaje ciagle wylogowany.....i Tu jest moj problem. Nie wiem jak soobie poradzic z tym by mnie nie wylogowywal do ostatniego uzytkowanika z listy.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Może jestem zmęczony, ale nadal nie rozumiem: gdzie się logujesz itd.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wiec tak zaczne mniej wiecej od samego poczatku
![]() Na stronie zrobilem logowanie. Osoby zalogowane maja rozne prawa. Sa admini i goscie. Jak zaloguje sie jako admin pojawia mi sie dodatkowo link do Panelu admina. W nim mam zarzadzanie newsami, aktualizacjami oraz "uzytkownikami". Skrypt ktory podalem jest wlasnie do zarzadzania uzytkownikami, czyli wyswietla mi wszystkich userow znajdujacych sie w katalogu users. Kazdy uzytkownik jak juz wspomnialem ma prawa $lev skrypt ten wyswietla mi levele oraz maile userow. Dzieki temu skryptowi po malej modernizacji bede chcail dodacedycje poziomow. Poruszajac sie po panelu wszytko jest ok. Wejde w zarzadzanie newsami i jest ok nie wylogowywuje mnie. Wejde w aktualizacje takze nie zostaje wylogowany. Lecz gdy wejde w zarzadzanie userami to jest ok do momentu. Wyswietla mi wszytko lecz gdy chce powrocic do panelu glownego admina. Zamast pozostac przy loginie admina zostaje przelogowany do ostatniego usera z listy w panelu do zarzadzania userami. Jezeli trzeba wiecej szczegolow chcetnie odpowiem ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Domyślam się, że odpalasz zmienną sesyjną funkcją session_register()... Poczytaj o tablicy $_SESSION.
Najprawdopodobniej wypisując tabele nadpisujesz tę zmienną i dlatego po przejściu przez pętlę ustawiany jest ostatni user... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytalem o $_SESSION i pozmienialem session_register(). Lecz i tak nie wiem gdzie szukac bledu. On moze byc wszedzie. Tak w ogole sprawdzilem czy naprade jest tak jak mowie mianowicie usunalem powyzszy skrypt zostal tylko do zliczania plikow i jest ok nie wylogowywuje mnie, wiec moge powiedziec ze wina obarczaam ten skrypt za wylogowywanie
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli masz wersję php poniżej 4.1 to musisz dać $HTTP_SESSION_VARS zamiast $_SESSION.
Aha, a dałeś session_start()? -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
wersja 4.3.1 i session_start() dalem
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A dałeś [manual:0d06df988d]session_start[/manual:0d06df988d] w każdym pliku?
-------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Upss.....mozliwe ze ze dw moglem pominac...musze sprawdzic...
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dalej jednak to samo....
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Hmm, podaj jeszcze skrypt którm się logujesz.
-------------------- |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:676c0bcd5d]<?php
if(!empty($_POST)) { if(file_exists('includes/users/'.$_POST['login'].'.dat')) { include('includes/users/'.$_POST['login'].'.dat'); if(isset($log) && isset($pass)) { if($log == $_POST['login']) { if($pass == $_POST['password']) { session_start(); session_register('log'); session_register('pass'); header('location: index.php?page=download&'.SID); exit(); } else { echo 'Nieprawidlowe haslo!'; } } } } } ?> <? if(!empty($_SESSION["log"])){ echo "<table height='68' width='100%' cellpadding='0' cellspacing='0'><tr><td><table width='100%' cellpadding='1' cellspacing='0' style='border-top:1px solid #000000; border-bottom:1px solid #000000'><tr><td align='right' bgcolor='#666666'><font color='#222222'>Witaj <b>".$_SESSION["log"]."</font> </td></tr></table></td></tr><tr><td><table height=100% width='100%' cellpadding='2' cellspacing='0'><tr><td align='center'><font color='#999999'>Jestes zalogowany</font></td></tr><tr><td align='right'>» <a href='index.php?page=logout' class='admin'>wyloguj</a> </td></tr></table></td></tr></table>"; } else {?> <table width="100%" cellpadding="1" cellspacing="0"><FORM method="POST" action="<?php echo $PHP_SELF?>"> <tr> <td colspan="2" height="6"></td> </tr> <tr> <td> Login:</td><td><INPUT type='text' class='login' name='login'></td> </tr> <tr> <td> Haslo:</td><td><INPUT type="password" class="login" name="password"> <INPUT type="submit" value="ok"></td></tr> <tr><td colspan='2'> » <a href='index.php?page=lost_pass'>Zapomnialem haslo</a></td></tr> </FORM></table> <? } ?> [/php:1:676c0bcd5d] |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Po prostu jak się logujesz zapisujesz zmieną log, która jest później nadpisywana przez zmienne z plików. Są dwa rozwiązania:
1. zmień w swoim logowaniu nazwy zmiennych na inne, 2. przy sprawdzaniu swojej zmiennej $log odwołuj się przez $_SESSION["log"]. -------------------- |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Hmm......zrobilem taki krok........
podczas logowania rejestuje teraz wszystkie zmienne z pliku i uzywam do nich $_SESSION[] lecz dalej nic.....czy moze robie blad ze rejestruje wszystkie zmienne z pliku. Powinienem rejestrowac tylko zmienna log i pass ![]() Bo juz sam nie wiem ![]() Prosil bym o jaka kolwiek pomoc... |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 16.07.2003 Skąd: Kosmos Ostrzeżenie: (0%) ![]() ![]() |
Cytat A dałeś session_start w każdym pliku?
niewiem może sie myle ale nie trzeba dawać w kazdym pliku .. [manual:25336770a3]session_start[/manual:25336770a3] ale nie wiem .... jak trzeba to sory za wprowadzanie w bląd |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Funkcja musi być. Chyba że w pliku konfiguracyjnym jest ustawiona na 1 dyrektywa session.auto_start - o ile sie nie mylę.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:42 |