Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][sql] dodawanie do sesji
dsadsaf
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 27.09.2007

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


Próbuję wykombinować skrypt który przekieruje mnie na stronę "costam.php" za każdym razem dodając do sesji inny "id"
  1. <?php
  2. if(mysql_num_rows($wynik) > 0) { 
  3.  
  4. echo "<table>"; 
  5.  echo '<th>lp</th>';
  6. echo '<th>Imię</th>';
  7.  echo '<th>Nazwisko</th>';
  8.  
  9. while($r = mysql_fetch_assoc($wynik)) { 
  10.  
  11. echo "<tr>"; 
  12. echo "<td>".$r['id']."</td>"; 
  13. echo "<td>".$r['imie']."</td>"; 
  14. echo "<td>".$r['nazwisko']."</td>"; 
  15. echo "<td> <a href=\"costam.php\">EDIT</a></td>";
  16. echo "</tr>";
  17. $_SESSION['abc']=$r['id']; 
  18.  } 
  19. echo "</table>"; 
  20. }
  21. ?>


plz Help smile.gif


-------------------------
do PHP są odpowiednie znaczniki BBCode
a nie tylko [code] do wszystkiego
~Cienki1980
Go to the top of the page
+Quote Post
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Podstawowa zasada - jeśli sesje to session_start(); musi być zawsze na samym początku wysyłany do przeglądarki, przed jakimkolwiek innym znakiem, nawet nie może być spacji bo wyskoczy błąd headers already send....

to robisz OK:

Cytat
$_SESSION['abc']=$r['id'];


a przekierowanie to w tym miejscu to nie możesz użyć header" title="Zobacz w manualu PHP" target="_manual i Location (błąd jak przy sesjach bo wysyłasz nagłówek), ale możesz przekierowanie zrealizować w javascript

Łukasz


--------------------
Go to the top of the page
+Quote Post
dsadsaf
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 27.09.2007

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


Nie używam ani header ani Location. po naciśnięciu "edit" ma przekierowac na stronę. To musi być w javascript? bo tego języka nie umiem w ogóle. wolałbym to załatwić w php :|
Go to the top of the page
+Quote Post
kossa
post
Post #4





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


a to teraz Ciebie rozumiem smile.gif

to link do costam.php mozesz tak zrobic:

  1. <?php
  2. echo "<td> <a href=\"costam.php?id=".$r['id']."\">EDIT</a></td>";
  3. ?>


a w pliku costam.php na samym poczatku:

  1. <?php
  2.  $_SESSION['abc']=$GET[["id"];
  3. ?>


a w samym pliku costam.php jeśli będziesz potrzebować wartości tej zmiennej to nie odwołuj się do niej za pomocą $_SESSION bo odczytana będzie mogła być dopiero po przeładowaniu strony a za pomocą tablicy $_GET czyli $GET[["id"];

Łukasz


--------------------
Go to the top of the page
+Quote Post
--pearl1985--
post
Post #5





Goście







[quota]
  1. <?php
  2.  $_SESSION['abc']=$GET[["id"];
  3. ?>
[/quota]
Jeszcze lepiej to rozwiązać tak

  1. <?php
  2. echo "<td> <a href=\"costam.php?".session_name()."=".session_id()."\">EDIT</a></td>";
  3. ?>


Niezależnie, jak php domyślnie sobie ustawia nazwę zmiennej sesyjnej czy uzytkownik ustawi nazwę, php automatycznie sobie z tym radzi.
Nalezy jedynie pamiętać by nazwę sesji jaką domyślnie ustawimy (mówie o PHPSESSID), to trzeba dorzucić wtedy session.name domyślny na ten którego chcesz używać i po robocie.
Go to the top of the page
+Quote Post
dsadsaf
post
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 27.09.2007

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


Dzieki wielkie smile.gif pomogliście mi smile.gif
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: 21.08.2025 - 08:24