![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mój problem dotyczy odczytania zmiennych sesyjnych. Otóż na pierwszej stronie nadaje wartości zmiennym sesyjną za pomocą zwykłej pętli for, zmienne sesyjne przyjmują następującą postać $_SESSION[i]=x; gdzie i oznacza krok pętli, natomiast x dowolną wartość. Na tej stronie wyświetlam też (dla sprawdzenia) wartości zmiennych sesyjnych i wszystko działa tj. wyświetla się. Problem dotyczy natomiast drugiej strony na której chce ponownie wyświetlić wartości zmiennych sesyjnych. Etap ten robię również za pomocą pętli for i wygląda to następująco echo $_SESSION[i];. I tu zaczyna się problem gdyż nie wyświetla niczego. Inne zmienne sesyjne są wyświetlane normalnie. Nie mam pomysłu jak skorygować ten problem. Próbowałem to zrobić za pomocą zmiennych zmiennych ale coś nie wychodziło. Bardzo bym prosił o jakiekolwiek rady i pomoc. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
pokaż kod
1. a na obu stronach dajesz session_start()? 2. możesz sprawdzić zmienne sesyjne używając print_r($_SESSION) 3. dajesz $_SESSION[i] czy $_SESSION[$i]? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 156 Pomógł: 17 Dołączył: 11.12.2010 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
wydaje mi się, że gdzieś jest użyte
(IMG:style_emoticons/default/smile.gif) chyba |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
A więc tak:
1. na obu stronach jest session_start() 2. Sprawdzałem używając print_r($_SESSION) i wyświetla wszystkie zmienne sesyjne, tylko nie te "potrzebne" 3. tak daje $_SESSION[$i] 4. Nie ma nigdzie session_destroy(); Ogólnie wydaje mi się, że wszystko należy sprowadzić do postaci którą wyglądała by następująco $_SESSION('$i') z tym, że dla wielu elementów ;/ Ten post edytował tenlepszy 27.12.2010, 20:38:27 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
pokaż kody na obu stronach
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
strona 1:
-------------------------------------------------------------------------------------------------------------------------------------------- Strona 2:
-------------------------------------------------------------------------------------------------------------------------------------------- auth1.inc.php:
-------------------------------------------------------------------------------------------------------------------------------------------- Sorry za estetykę kodu Ten post edytował tenlepszy 27.12.2010, 21:10:35 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
wydaje mi się, że tak bardzo namieszałeś, że aż się w tym pogubiłeś.
1. jeżeli już wstawiasz tak dużo zmiennych to do zmiennej sesyjnej przypisz tablicę z tymi zmiennym, będzie miał lepszą kontrolę np. zamiast $_SESSION[$i] zrób
2. wtedy nie będziesz już musiał używać pętli for() do odczytu, tylko foreach() co znowu da lepszą kontrolę i uprości sprawy 3. jeżeli używasz w zapytaniu zmiennych pochodzących od użytkownika, zawsze dawaj je w apostrofy/cudzysłowie i funkcje mysql_real_escape_string() 4. z bazą łączysz się tylko raz, a nie przy każdym zapytaniu 5. być może $_POST jest puste i dlatego nic nie jest przypisywane do zmiennych? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zatem:
jak będzie wyglądało odczytanie za pomocą pętli foreach? Wiem, że z bazą łącze się raz kod jeszcze nie jest do końca zwalidowany. A co do zmiennej $_POST, to nie jest pusta bo ją sprawdzałem. dzięki za rady (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował tenlepszy 27.12.2010, 21:39:24 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
http://php.net/manual/en/control-structures.foreach.php
ciężko stwierdzić czemu Ci nie działo bo bardzo namieszałeś, dużo warunków itd i nie wiadomo gzie skrypt zachowuję się nie tak jak chciałeś tu masz kilka rad jak diagnozować błędy Temat: Jak poprawnie zadac pytanie i tutaj Temat: Najczestsze bledy ogólnie to możesz napisać co chcesz osiągnąć to Cię skrótowo nakieruję jak to zrobić, bo widzę, że się trochę gubisz, ale to normalne na początku:) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 20.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, kod nie jest przejrzysty i mogłem wkleić tylko potrzebny fragment a nie całość. Sprawdzę jeszcze warunki, spróbuje z pętlą foreach. Najlepsze jest to, że ten sposób tj. przekazanie wartości w tablicy gdzie indeksem jest zmienna $i między stronami działa tyle że ze zmienną $_POST[$i]. Pewnie przyczyna niejasności jest jakaś banalna, tylko trzeba ją znaleźć (IMG:style_emoticons/default/winksmiley.jpg)
Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.09.2025 - 02:04 |