Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Przesyłanie sesji pomiędzy skryptami stron
Forum PHP.pl > Forum > Przedszkole
pjamorski
Witam
Mam problem z przesyaniem sesji pomiędzy tymi stronami. Podam w kolejności skrypty:


Formularz

  1. <?php
  2. include("header.php");
  3. ?>
  4. <table id="structure">
  5. <tr>
  6. <td id="navigation">
  7. <?php include("navigation-login.php"); ?>
  8. </td>
  9. <td id="page">
  10. <h3>Panel logowania: </h3></p>
  11. <p>
  12. <form action="log.php" method="post">
  13. <table style="width:11%;">
  14. <tr>
  15. <td bgcolor="#FFC0C0" class="style5">
  16. login:
  17. </td>
  18. <td align="left">
  19. <input type="text" name="nick"/>
  20. </td>
  21. </tr>
  22. <tr>
  23. <td bgcolor="#FFC0C0" class="style5">
  24. hasło:</td>
  25. <td align="left">
  26. <input type="password" name="passwd" /></td>
  27. </tr>
  28. <tr>
  29. <td>
  30. &nbsp;</td>
  31. <td align="left">
  32. <input type="submit" value="loguj" /><input id="Reset1" type="reset" value="reset" /></td>
  33. </tr>
  34. </table>
  35. </form>
  36. </p>
  37. </td>
  38. </tr>
  39. </table>
  40. <?php
  41. include("footer.php");
  42. ?>


druga strona, skrypt

  1. <?php
  2. ?>
  3. <?php
  4. require_once('sql_class.php');
  5. $object = new MySQL_class();
  6. $object->Set_nick($_POST['nick']);
  7. $object->Set_password($_POST['passwd']);
  8. if(isset($_POST['nick']))
  9. {
  10. $_SESSION['user'] = $object->Get_nick();
  11. }
  12. else
  13. {
  14. header("Location: index.php");
  15. }
  16. if($object->Login() == true)
  17. {
  18. if($object->Get_role() == 'u')
  19. {
  20. include('loged.php');
  21. }
  22. else if($object->Get_role() == 'a')
  23. {
  24. include_once('admin_show_users.php');
  25. }
  26. else
  27. {
  28. echo 'Acces error';
  29. }
  30. }
  31. else
  32. {
  33. echo "Logowanie nie powiodło się";
  34. }
  35.  
  36.  
  37. ?>


trzwcia strona, skrypt

  1. <?php
  2. include("header.php");
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  5. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6. <head>
  7. <meta HTTP-EQUIV="Content-type" content="text/html; charset=Windows-1250">
  8. <title>strona</title>
  9. </head>
  10. <body>
  11. <table id="structure">
  12. <tr>
  13. <td id="navigation">
  14. <?php
  15. include("navigation-after-login.php");
  16. ?>
  17. </td>
  18. <td id="page">
  19. <p><h3>Panel administratora serwisu
  20. </h3></p>
  21. <p>
  22. <div align='left'>
  23. <ul>
  24. <li>Pokaż użytkowników</li>
  25. <li>Edytuj dane galerii zdjęć</li>
  26. <li>Zmień swoje hasło</li>
  27. </ul>
  28. </div>
  29. </p>
  30. </td>
  31. </tr>
  32. </table>
  33. </body>
  34. </html>
  35. <?php
  36. include("footer.php");
  37. ?>


zawartość pliku navigation-after-login.php w którym mają waśnie działać sesje

  1. <?php
  2. ?>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" >
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>strona</title>
  8. </head>
  9. <body>
  10. <h3>Menu</h3>
  11. <?php
  12. if(isset($_SESSION['user']))
  13. {
  14. echo 'Witaj, '.$_SESSION['user'];
  15. }
  16. $_SESSION['gallery'] = 'go';
  17. ?>
  18. <ul>
  19. <li>Zaloguj<br/><br/></li>
  20. <li>Rejestruj<br/><br/></li>
  21. <li><a href="gallery.php">galeria zdjęć</a><br/><br/></li>
  22. <li><a href="aboutme.php">o mnie</a><br/><br/></li>
  23. <li><a href="send_email.php">wyślij email</a><br/><br/></li>
  24. <li><a href="index.php">wyloguj</a><br/><br/></li>
  25. </ul>
  26.  
  27. </body>
  28. </html>


Teraz jest problem, na powyższym pliku mam linki, klikam w link galeria zdjęć i wywala mi błąd związany w sesjami właśnie wykorzystywanymi w tym pliku: Chcę trzymać na tym pliku sesje użytkownika przez cały czas, nwet po klikaniu na linki. Nie mam pojęcia jak to zrobić. Nie programuję w PHP, proszę o pomoc jeżeli jest to możliwe.

Komunikat błędu:


Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\usr\krasnal\www\new_gallery\header.php:11) in c:\usr\krasnal\www\new_gallery\navigation-after-login.php on line 2
nospor
Cytat
Nie programuję w PHP
ALe do korzystania z wyszukiwarki nie jest za bardzo potrzebna wiedza z PHP.
Problem poruszany był już wiele razy. Poszukaj na forum, google, w tematach przyklejonych na forum
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.