Mam problem z przesyaniem sesji pomiędzy tymi stronami. Podam w kolejności skrypty:
Formularz
<?php include("header.php"); ?> <table id="structure"> <tr> <td id="navigation"> <?php include("navigation-login.php"); ?> </td> <td id="page"> <h3>Panel logowania: </h3></p> <p> <form action="log.php" method="post"> <table style="width:11%;"> <tr> <td bgcolor="#FFC0C0" class="style5"> login: </td> <td align="left"> <input type="text" name="nick"/> </td> </tr> <tr> <td bgcolor="#FFC0C0" class="style5"> hasło:</td> <td align="left"> <input type="password" name="passwd" /></td> </tr> <tr> <td> </td> <td align="left"> <input type="submit" value="loguj" /><input id="Reset1" type="reset" value="reset" /></td> </tr> </table> </form> </p> </td> </tr> </table> <?php include("footer.php"); ?>
druga strona, skrypt
<?php ?> <?php require_once('sql_class.php'); $object = new MySQL_class(); $object->Set_nick($_POST['nick']); $object->Set_password($_POST['passwd']); { $_SESSION['user'] = $object->Get_nick(); } else { } if($object->Login() == true) { if($object->Get_role() == 'u') { include('loged.php'); } else if($object->Get_role() == 'a') { include_once('admin_show_users.php'); } else { } } else { } ?>
trzwcia strona, skrypt
<?php include("header.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <head> <meta HTTP-EQUIV="Content-type" content="text/html; charset=Windows-1250"> <title>strona</title> </head> <body> <table id="structure"> <tr> <td id="navigation"> <?php include("navigation-after-login.php"); ?> </td> <td id="page"> <p><h3>Panel administratora serwisu </h3></p> <p> <div align='left'> <ul> <li>Pokaż użytkowników</li> <li>Edytuj dane galerii zdjęć</li> <li>Zmień swoje hasło</li> </ul> </div> </p> </td> </tr> </table> </body> </html> <?php include("footer.php"); ?>
zawartość pliku navigation-after-login.php w którym mają waśnie działać sesje
<?php ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>strona</title> </head> <body> <h3>Menu</h3> <?php { } $_SESSION['gallery'] = 'go'; ?> <ul> <li>Zaloguj<br/><br/></li> <li>Rejestruj<br/><br/></li> <li><a href="gallery.php">galeria zdjęć</a><br/><br/></li> <li><a href="aboutme.php">o mnie</a><br/><br/></li> <li><a href="send_email.php">wyślij email</a><br/><br/></li> <li><a href="index.php">wyloguj</a><br/><br/></li> </ul> </body> </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