![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 147 Pomógł: 0 Dołączył: 3.03.2004 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam taki skrypt logowania:
plik admin_zarzadzanie:
i wraca mi do login_admin.php.. czyli chyba ![]() -------------------- MySQL 4.0.15 | PHP 4.3.3 | Apache 1.3.28 | Kwrite | phpMyAdmin 2.5.6-rc1 | Linux MDK 10.1 pp
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 5.01.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak:
A, i nie domknąłeś IF w admin_zarzadzanie
-------------------- No i co się gapisz? Sygnaturki nie widzałeś?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
co prawda Mori zgłosił już tu jakieś uwagi ale może dodam jeszcze kilka swoich.
1. session_name(admin_login); czy admin_login to gdzieś ustawiony zapomocą define constans jeśli nie to lepiej by było: session_name('admin_login'); (z apostrofami) 2. session_start najlepiej dawać na początku skryptu czyli przed print to samo header, czyli całą funkcję daj przed print 3. oczywiście jeśli chcesz odczytywać zmieną za pomocą instrukcji $_SESSION['login'] to nie rejestrujesz jej session_register tylko poprzez przypisanie ale w twoim przypadku chyba lepsze będzię $_SESSION['login']=$login a nie jak proponuje mori $_SESSION['login']=1, bo wtedy miałbyś czesc 1 co chcesz robić 4. jeśli natomiast rejestrujesz zmienne poprzez session_register to są one w nowym skrypcie po instrukcji session_start od razu dostępne jako globalne tu: $login 5. jeżeli w serwerz masz ustawione automatyczne zamienianie zmiennych post i innych na globalne (ze skryptu to wynika) to proponuję ze względów bezpieczeństwa wyłączyć tą opcję i odwoływać się do nich normalnie przez $HTTP_POST_VARS względnie $_POST to tyle co mi się nasunęło pozdro i nara |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 5.01.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ale potem sprawzanie było w takiej formie:
!isset($_SESSION["login"]) Więc wystarczało 1. Oczwyiście, można sobie zrobić 2 zmienne, z loginem i hasłem, ale w tym skrypcie o tym nie było mowy, stąd proste ustawienie zmiennej sesyjnej login na 1. -------------------- No i co się gapisz? Sygnaturki nie widzałeś?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Po co Ci pętla, przecież nie ma dwóch userów o takim samym loginie ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Jak masz dostęp do bazy danych to proponowałbym:
1. władować sesje do bazy
2. wykorzystać jakąś klase sesji - bardzo fajna klasa: /// session.php ///
3. Dostosować skrypt logowania /// index.php ///
/// main.php ///
No i to wszystko i działa jak należy ![]()
no chyba że będziesz coś wywoływał w popup to w tedy przed kodem powyższym wpisujesz
I ma działać ![]() ![]() Ten post edytował JOHNY 3.05.2005, 12:37:03 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 147 Pomógł: 0 Dołączył: 3.03.2004 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
johny, nie potrzebuje czegoś takiego zaawansowanego.
zmieniłem tak jak powiedzieliście:
admin_zarzadzanie.php:
![]() -------------------- MySQL 4.0.15 | PHP 4.3.3 | Apache 1.3.28 | Kwrite | phpMyAdmin 2.5.6-rc1 | Linux MDK 10.1 pp
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
No wiem ale to tak na przyszłość bo kiedyś się może przydać, sam też tak twierdziłem poco mi trzymać sesje w msyql ale warunki mnie do tego zmusiły
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 5.01.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
No bo teraz jest:
Brakuje !... -------------------- No i co się gapisz? Sygnaturki nie widzałeś?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
no dobrze masz tu poprawiony swój skrypt wg. moich zaleceń, zapomniałeś tylko o paru drobiazgach, a są one istotne: powtarzam
1. $login możesz używać jako zmiennej globalnej jeśli zarejestrujesz ją w sesji poprzez session_register('login'); jeśli zarejestrujesz $_SESSION[login'] = $login to potem konsekwetnie $_SESSION['login'] w drugim skrypcie. 2. całe if przed print gdyż w środku jest instrukcja header, i session_name razem z session start (widzę, że już dodałeś apostrofy) 3. Te zmienne $_POST to miałem na myśli w pierwszym skrypcie gdzie odbierasz dane z formularza (method=post) a nie w drugim gdzie odbierasz dane przez sesję. 4. wyrzuciłem kilka zbędnych moim zdaniem rzeczy pozostawiając tą samą funkcjonalność, nie miej mi o to żalu, nie mogłem się powstrzymać.
drugi skrypt
pozdro i nara ps. widzę że temat sesji wzbudza duże i aktywne zainteresowanie gdyby interesował ciebie ten drugi model sesji (session_register) to zajrzyj tam model sesji przez session_register Ten post edytował adax2000 3.05.2005, 19:22:29 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może autor tematu przerzuci się na własny mechanizm sesji oparty np. o bazę mySQL
![]() ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
johny już o tym mówił, a nawet zapodał mega długi skrypt
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
No ma nadzieję że się komuś przyda mój post bo wiem że są problemy z sesjami i co chwile jakieś tematy są ładowane na forum odnośnie sesji.
Sam miałem problemy i częściowo chłopaki mi pomogli a reszte musiałem sam dokumać choćby nawet to że mi nie chciało ładować zmiennych sesji do bazy a dlaczego no błąd w skrypcie gdyż zapomniałem zmienić 1 rzecz jak przerabiałem sobie swój stary kod ![]() Pozdrawiam i mam nadzieję że wyjdzie wam wszystko co tworzycie ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 01:32 |