Witam
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']);
if(isset($_POST['nick'])) {
$_SESSION['user'] = $object->Get_nick();
}
else
{
header("Location: index.php"); }
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
{
echo "Logowanie nie powiodło się"; }
?>
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
if(isset($_SESSION['user'])) {
echo 'Witaj, '.$_SESSION['user']; }
$_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
Ten post edytował pjamorski 30.06.2010, 06:49:43