Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Blad wyswietlany podczas sesji
Forum PHP.pl > Forum > PHP
Robert
Witam
Chcail bym sie dowiedziec co moze oznaczac taki blad podczas sesji
Cytat
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:usrkrasnalwwwmapikprojlogin4usersmapik.dat:6) in c:usrkrasnalwwwmapikprojlogin4login.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at c:usrkrasnalwwwmapikprojlogin4usersmapik.dat:6) in c:usrkrasnalwwwmapikprojlogin4login.php on line 9


Przetlumaczyc umiem, ale musze zaczerpnac informacji od zaznajomionych z tymi problemami:) To wyskakuje mi po zweryfikowaniu nawy logina i hasla.
Pozdrawiam
spenalzo
Funkcje session_start() musisz dać na samym początku pliku, jeszcze przed wysłaniem czegokolwiek do przeglądarki za pomocą np. echo.
Robert
Kombinuje, kombinuje i nic juz od dlugiego czasu. Skrypt podam moze z niego da sie cos wyczytac smile.gif.[php:1:5be7ed236d]<?php
if(!empty($_POST)) {
if(file_exists('users/'.$_POST['login'].'.dat')) {
include('users/'.$_POST['login'].'.dat');
if(isset($log) && isset($pass)) {
if($pass = $_POST['password']) {
session_start();
session_register('log');
header('location: secret.php?'.SID);
exit();
} else {
echo 'Nieprawidlowy login!'; }
}
}
}
?>
<HEAD>
<TITLE>Logowanie</TITLE>
</HEAD>
<BODY>
<FORM method="POST" action="<?php echo $PHP_SELF?>">
Login: <INPUT type="text" name="login">
Has&sup3;o: <INPUT type="password" name="password">
<INPUT type="submit" value="Zaloguj si&ecirc;">
</FORM>
</BODY>
[/php:1:5be7ed236d]

System ten posiada jeszcze plik secret.php, lecz tam sesja jest raczej prawidlowo wpisana. Prosze o zweryfikowanie.
[php:1:5be7ed236d]<?php
session_start();
if (!isset($login)){
header("Location: login.php");
exit();
}
?>
<HEAD>
<TITLE>Tajne</TITLE>
</HEAD>
<BODY>
<?php
echo "Witaj " . $_SESSION["login"];
?>
Scisle tajne dane.
</BODY>
[/php:1:5be7ed236d]
spenalzo
Czy to są jedyne błędy co się pokazują, czy są jeszcze jakieś inne?
Robert
Tylko takie, zadnych innych nie ma.
Robert
Ok poradzilem sobie z bledem....
dla zainteresowanych wstawilem [php:1:110f2b5ef5]<?php
ob_start(); ?>
<?php ob_end_flush();?>
[/php:1:110f2b5ef5]
KaMeLeOn
Poszukaj lepiej co wysyłasz przed wywołaniem session_start() (może to być nawet niezauważona spacja), a nie używaj buforowania...
GeoS
A ja mam podejrzenia co do linii 4 twojego kodu:

[php:1:07d07f628a]<?php
include('users/'.$_POST['login'].'.dat');
?>[/php:1:07d07f628a]

Co Ty tam za dane include'ujesz (jaka struktura) :?:
zulus
umieszczaj na początku każdego pliku session_start() a nie tylko raz przy autoryzacji to nie będziesz miał problemów.

i sprawdz czy w tym plik który dołączasz na początku (przed <? i <?php nie zawiera spacji.

___
[scanner]: przypominam o możliwości modyfikacji własnych postów.
Robert
Struktura pliku includowanego
[php:1:e76fb899de]<?
<?php
$log = 'Rob';
$pass = 'trep';
?>
[/php:1:e76fb899de]
Pozdrawiam
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.