Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rzecz o sesjach, dodawanie zmiennych do sesji
tomilipin
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.01.2004
Skąd: że znowu ლ(ಠ益ಠლ

Ostrzeżenie: (0%)
-----


Witam,
przeczytałem zagadnienia dotyczące dodawania zmiennych do sesji w manualu php.net i nadal nie mogę ich dodać w moim skrypcie! Robię wszystko zgodnie z przykładami w manualu ale zmienne po prostu się nie dodają. Parser nie wykrywa błędów. Próbowałem już wielu możliwości: przez $_SESION ['bla'], przez session_register("bla") ale ciągle nie mam pewności co to oznacza...
Najbardziej przychylam się do session_register("bla") i rozumiem że to zapisze w sesji zmienną bla, której wartość trzeba wcześniej zdefiniować? No a jak ją potem odczytać w innym pliku? Próbowałem session_is_registered("bla") ale nic się nie wyświetlało... nie wiem za bardzo jak tego używać sadsmiley02.gif
Dlatego proszę Was o podanie przykładowego kodu dla dwóch plików w php gdzie w jednym zapisujemy zmienną do sesji a w drugiej to oczytujemy i wyświetlany przez np. echo


--------------------
Kod
$kobieta = 'Kobieta zmienną jest...';
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


A tworzy Ci sie sesja ? Sprawdz czy sie tworzy...

  1. <?php
  2. // plik 1.php
  3. $_SESSION['bla']=&#092;"lalala\";
  4. echo '<a href=\"2.php\">idz</a>';
  5.  
  6. // plik 2.php
  7. echo $_SESSION['bla'];
  8. ?>


Ten post edytował sf 26.07.2004, 21:29:46


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
tomilipin
post
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.01.2004
Skąd: że znowu ლ(ಠ益ಠლ

Ostrzeżenie: (0%)
-----


Tak, sesja mi się tworzy.
Skorzystałem z Twojego kodu i pod linkiem ukazało mi się
  1. <a href="2.php?PHPSESSID=fd3069ded1aa407379443e96d918c226">idz</a>
chociaż tego w kodzie nie ma. Dziwne, ale zarazem fajne- praktyczne!
Ja sam sprawdzałem sesje tak:
  1. <?
  2. //plik 1
  3. $sesid=session_id();
  4. echo $sesid; //aby mieć pewność
  5. echo &#092;"<a href=\"2.php?sesid=$sesid\\">2.php</a>\"; //link
  6.  
  7. //plik 2
  8. echo $sesid; //po prostu wyświetlanie ID, 100% pewności;-)
  9. ?>


No i teraz pytanie- jak zapisywać zmienne do sesji? Czy ten kod który podałeś już zapisał zmienną "bla" i kolejne zmienne miałbym zapisywać analogicznie?

--EDIT--
nie wiem czemu w kodzie (7) jest "&#092"... w poście już trzeci raz wpisuję backslash i nic...

Ten post edytował tomilipin 26.07.2004, 22:24:27


--------------------
Kod
$kobieta = 'Kobieta zmienną jest...';
Go to the top of the page
+Quote Post
Sm0key
post
Post #4





Grupa: Zarejestrowani
Postów: 69
Pomógł: 1
Dołączył: 26.02.2004
Skąd: kielce. //Świętokrzyskie

Ostrzeżenie: (0%)
-----


  1. <a href="2.php?PHPSESSID=fd3069ded1aa407379443e96d918c226">idz</a>


tak sie tworzy w php gdy przegladarka lub w konfigach jest wylaczone uzycie cookies, php automatycznie dodaje id sesji do linkow

2 dane sie zapisuje

  1. <?php
  2.  
  3. $_SESSION['nazwa zmiennej sesyjnej']= &#092;"jakas wartosc tej zmiennej\";
  4.  
  5. ?>


wiecej poczytaj w maualu
session" title="Zobacz w manualu PHP" target="_manual


--------------------
... aleobiad 80 %
"Doskonałości nie da się przyśpieszyć..."
Go to the top of the page
+Quote Post
tomilipin
post
Post #5





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.01.2004
Skąd: że znowu ლ(ಠ益ಠლ

Ostrzeżenie: (0%)
-----


Cytat(Sm0key @ 2004-07-26 23:50:22)

Dzięki! Tam nie byłem... Sporo mi to wyjaśniło, dziękuję też za info odnośnie zapisywania zmiennych sesyjnych. Zrobię proste logowanie na stronce (dział zastrzeżony) biggrin.gif

--EDIT--
W związku z tym że nie można odpowiadać po sobie- napiszę w tym poście:
Problem pojawił się nowy... Zmienne chcę wykorzystać do prostego logowania, chodzi o to że stronę mam w dwóch plikach (w jednym zmienne z treścią działów, w drugiej wszystko wyświetlam), używam takiego kodu w pliku nr 1:
  1. <?
  2. function zalogowany() {
  3. $_SESSION['logged']=&#092;"1\";
  4. print '<p class=\"zwykly\">ZALOGOWANY</p>';
  5. }
  6.  
  7. function restricted(){
  8. $dwa=$_SESSION['logged'];
  9. if ($dwa==&#092;"1\") { print '<p class=\"zwykly\">ZALOGOWANY</p>'; }
  10. elseif ($_POST['haslo']==&#092;"aaa\") { zalogowany(); }
  11. else { print 'form method=\"POST\" action=\"glowna.php?n=3\"><input type=\"password\" name=\"haslo\" size=\"11\"> <input type=\"submit\" value=\"Jazda!\" name=\"logowanie\"></form>';
  12. }
  13. ?>

W formularzu jest action="glowna.php?n=3" a jeśli n=3 to odpala funkcję restricted(). Dodałem przed rozpoczęciem sesji @ aby nie wyświetlał mi błędów (gdyż ID i tak się tworzy...). Pomimo wszystko efektem jest putska- po wpisaniu poprawnego hasła wyświetla się ZALOGOWANY, jednak jeśli potem wejdę na inną podstronę, a następnie znowu będę chciał zobaczyć tą oją stronę zastrzeżoną (o niej mowa) to wyświetla mi się form do wpisania hasła... Nie mam pojęcia jak to rozwiązać! Stronę muszę mieć w dwóch plikach więc tworzenie osobnych plików dla wszystkiego odpada...

Co radzicie?

Ten post edytował tomilipin 27.07.2004, 16:51:19


--------------------
Kod
$kobieta = 'Kobieta zmienną jest...';
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:31