![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
cześć wszystkim
![]() mam pewien problem wrzucilem sobie swoją stronkę na serwer do kolegi - i wszystko ładnie działa na localhoście natomiast - gdy chce się zalogować - naciskam enter - przekierowuje mnie na główną stronę - i musze jeszcze raz się logować! ![]() na zdalnym wszystko jest ok! zdebugowałem projekt - gdzieś w momencie wczytywania (a raczej chyba kończenia) wczytywania pliku stopka.php gubi mi zmienną! naglowek.php
index.php
pozdrawiam Przemysław Maćkowski Ten post edytował zulik 27.07.2010, 21:14:18 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 16 Dołączył: 22.02.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
I co chcesz byśmy my szukali Tobie błędu?
Chyba sobie żarty stroisz |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
No chyba jednak sobie żartujesz
![]() Ps. troszkę ten kod tak jakby zaśmiecony ![]() -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Neeke -> po części na tym polega idea forum
![]() Jednak problem polega na tym, drogi zuliku, że przydałoby się jeszcze trochę danych od Ciebie. Piszesz, że zmienna jest gubiona w stopka.php, a nie załączyłeś tego pliku. Ponadto miło byłoby, gdybyś objaśnił takie zmienne, jak $config_basedir oraz napisał, skąd się one biorą. Zauważ, że w przypadku błędnego loginu/hasła wysyłasz parametr ?error=1, ale potem w ogóle go nie wykorzystujesz. Być może po prostu zapomniałeś wgrać użytkowników do lokalnej bazy danych? Pomijam już fakt, że masz w kodzie burdel z gatunku kosmicznych. Weź sobie to popakuj w jakieś funkcje, podziel na wyświetlanie i na pobieranie danych, bo przy takiej budowie umrzesz szybko. Widzisz, nawet nie możesz nagłówka załadować, jeśli strona ma być dostępna jedynie dla zalogowanych. Zaś w logowaniu przy wyświetlaniu formularza dwukrotnie inicjujesz sesję... -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
dziękuje za krytykę - zawsze to konstruktywne...
Nie chodziło mi by ktoś za mnie szukał błędu - raczej by może ktoś znał ustawienia serwera, które są odpowiedzialne za sesje - i mógłby wskazać, które to... bo jak pisałem - na remotehoście jest OK. Jest to przykład z książki, którą obecnie przerabiam - PHP i MySQL 8 komponentów dla kreatywnych webmasterów. szukałem wczoraj w necie długo - i udało mi się znaleźć, że header - nie przenoszą zmiennych sesji. Czy możecie dla mnie to potwierdzić ? (nie jestem pewien mego angielskiego ![]() Zauważ, że w przypadku błędnego loginu/hasła wysyłasz parametr ?error=1, ale potem w ogóle go nie wykorzystujesz. Być może po prostu zapomniałeś wgrać użytkowników do lokalnej bazy danych? Jest to przykład z książki, w bazie znajduje się tylko jeden użytkownik. Pomijam już fakt, że masz w kodzie burdel z gatunku kosmicznych. Weź sobie to popakuj w jakieś funkcje, podziel na wyświetlanie i na pobieranie danych, bo przy takiej budowie umrzesz szybko Proszę sprostuj: czy miałeś na myśli zwykłe funkcje z zakresu języka proceduralnego, czy chodziło Ci o funkcje bardziej pod względem obiektowym...niestety coś mi nie idzie załapanie obiektówki ![]() ![]() Czy mógłbyś podać przykład takiej funkcji ? nie umieściłem, bo wydawał mi się zbędny... faktycznie, źle założyłem... stopka.php
Zaś w logowaniu przy wyświetlaniu formularza dwukrotnie inicjujesz sesję... Czy możesz mnie na to trochę naprowadzić ![]()
Przemysław Maćkowski - niestety już zdecydowanie oldboy ![]() Zaś w logowaniu przy wyświetlaniu formularza dwukrotnie inicjujesz sesję... czy chodzi o: <?php session_start(); a następnie else { //gdy przycisk nie zostanie nacisniety require("naglowek.php"); naglowek.php
podpowiecie rozwiązanie - proszę Przemysław Maćkowski |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jak takiego pisania uczą w książce, to mam poważne wątpliwości co do kompetencji jej autora. Nawet podręcznik na Wikibooks ma bardziej przemyślane przykłady...
![]() Ad. 1 - dane sesji zostają na serwerze, za pomocą ciastek przesyłany jest tylko jej identyfikator. Ad. 2 - tak, ale czy wgrałeś użytkownika do tej bazy? Ad. 3 - tak, wystarczą nawet zwykłe funkcje. Wiem, że się uczysz i nie wymagam nie wiadomo czego. Logiczną organizację kodu można wprowadzić niezależnie od tego czy ktoś umie obiektówkę czy nie, czy zastosuje funkcje czy jeszcze coś innego. Jeśli teraz nie zaczniesz o to dbać, ciężko Ci będzie zrozumieć bardziej skomplikowane rzeczy w przyszłości i ciągle będziesz się zmagać z różnymi wynikającymi z tego problemami. Ad. 4 - tak, chodzi dokładnie o to, że najpierw ją otwierasz ręcznie, a później ładujesz plik naglowek.php, który robi to po raz drugi. Wprawdzie dla działania sesji nic to specjalnie nie zmienia poza rzucaniem ostrzeżeń, ale jest to błąd w sztuce. Doświadczenie mówi mi, że takie niedeterministyczne zachowanie wynika właśnie z chaosu w skrypcie ![]() ![]() -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:43 |