Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Sesja nie jest przekazywana
jamil1
post 6.03.2006, 18:58:01
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.02.2006

Ostrzeżenie: (10%)
X----


mad.gif Mam następujący problem z sesjami na 1.php mam napisane tak
  1. <?php
  2.  
  3. foreach($_POST as $k->$v){
  4. $_SESSION[$k]=$v;
  5. }
  6. echo "<p>ID sesji:".session_id()."</p>";
  7.  
  8.  
  9. ?>

<br><br><br><br><form name="Sample" method="POST" action="2.php">
<br><input type="text" name="co" size="15" maxlength="15" value="a">
<br><input type="submit" name="Login1" value="Loguj1"></form>>

w drugim pliku o nazwie 2.php mam tak

  1. <?php
  2.  
  3. $_SESSION['co'];
  4.  
  5. echo "to co zawiera sesja : $co<br>";
  6. echo "to co jest poza sesją : $co1";
  7.  
  8. ?>

<form method="post" action="3.php">
<input type="submit" value="next">

a w trzecim pliku o nazwie 3.php mam coś takiego

  1. <?php
  2.  
  3. $_SESSION['co'];
  4. echo "$co";
  5. echo "ba";
  6.  
  7. ?>


No i tu pojawia sie istota problemu gdyż pomiędzy plikiem 1.php a 2.php jest przekazywane to co ma być w sesji ale gdzy klikne na przycisk na drugiej stronie 2.php i otworzy się strona 3.php to nic już tak jakby nie było w tej sesji.

Prosze o jakąś pomoc exclamation.gif!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mike
post 6.03.2006, 19:17:24
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


1. Pierwszy problem jaki masz to z podstawowa składnią.
Nie tak:
  1. <?php
  2.  
  3. //...
  4. foreach($_POST as $k->$v){
  5. //...
  6.  
  7. ?>

tylko tak:
  1. <?php
  2.  
  3. //...
  4. foreach($_POST as $k => $v){
  5. //...
  6.  
  7. ?>

Doczytaj: foreach
2. Zawsze powinno się startować sesję na początku, o tak:
  1. <?php
  2.  
  3. foreach($_POST as $k =>$v ){
  4. $_SESSION[$k]=$v;
  5. }
  6.  
  7. echo "<p>ID sesji:".session_id()."</p>";
  8.  
  9. ?>

3. Korzystasz z niezadeklarowanych zmiennych:
  1. <?php
  2.  
  3. $_SESSION['co'];
  4. echo "$co"; // po co średniki ?
  5. echo $co; // powinno byc tak
  6. echo "ba";
  7.  
  8. ?>
Skąd masz zmienną $co że chcesz jej użyć?

P.S.
Proszę poprawić temat wątku stosując odpowiedni prefiks.
Go to the top of the page
+Quote Post
jamil1
post 6.03.2006, 19:31:20
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.02.2006

Ostrzeżenie: (10%)
X----


Dzięki wielkie za szybą odpowiedź.

Zmienna $co.
Na pierwszzej stronie mam pole tekstowe o nazwie co i jest to przekazywane do sesji to co się znajdze w tym polu domyślnie jest wstawiana wartość a. Na pozostałych stonach jest pobranie z sesji $_SESSION['co ']; a zmienna $co ma przyjąć tą postać jaka została pobrana z sesji.
Go to the top of the page
+Quote Post
mike
post 6.03.2006, 19:40:59
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


To nie jest pobranie:
  1. <?php
  2.  
  3. //...
  4. $_SESSION[ 'co' ];
  5. echo $co; // nic się nie stanie
  6. //...
  7.  
  8. ?>

To jest po prostu: nic :-)
Możesz przypisać do zmiennej:
  1. <?php
  2.  
  3. //...
  4. $co = $_SESSION[ 'co' ];
  5. echo $co; // wyświetli wartość, ale takie przypisania sa bez sensu i nie powinno się tak rob
  6. // skoro można:
  7. echo $_SESSION[ 'co' ];
  8. //...
  9.  
  10. ?>


P.S.
Drugi raz przypominam o temacie wątku. Brakuje mu prefiksu. Popraw proszę.
Go to the top of the page
+Quote Post
jamil1
post 6.03.2006, 19:53:00
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.02.2006

Ostrzeżenie: (10%)
X----


sad.gif Zrobiłem tak jak jest poniżej ale niestety klops jest nadal na 3.php sesja taj jakby była pusta. Co to może być !
Pomocy exclamation.gif!!.
  1. <?php
  2.  
  3.  
  4. //...
  5. $co = $_SESSION[ 'co' ];
  6. echo $co; // wyświetli wartość, ale takie przypisania sa bez sensu i nie powinno się tak rob
  7. // skoro można:
  8. echo $_SESSION[ 'co' ];
  9. //...
  10.  
  11.  
  12. ?>
Go to the top of the page
+Quote Post
DeyV
post 6.03.2006, 20:58:59
Post #6





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Ale czy w tym 3 pliku również pamietałeś o tym, że trzeba zrobić session_start() ?


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:55