Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z logowaniem i uruchomieniem sesji.
Forum PHP.pl > Forum > PHP
binio
Witam
Mam skrypt który służy do logowania. Oparty jest o sesje. Na jednym serwerze chodzi bez zarzutu natomiast wystąpił problem przy przeniesieniu skryptu na inny serwer.

Drukuje mi taki błąd:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/luck.pl/home/htdocs/amk/logowanie.php:4) in /home/luck.pl/home/htdocs/amk/funkcje_dolacz.php on line 54

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/luck.pl/home/htdocs/amk/logowanie.php:4) in /home/luck.pl/home/htdocs/amk/funkcje_dolacz.php on line 54

Warning: Cannot modify header information - headers already sent by (output started at /home/luck.pl/home/htdocs/amk/logowanie.php:4) in /home/luck.pl/home/htdocs/amk/logowanie.php on line 15

A teraz listing kodu z pliku logowanie.php:

Plik logowanie.php przejmuje dane z formularza.

[php:1:a5b897b878]<?php

function lacz_bd()
{
$wynik = @mysql_pconnect("localhost", "login", "pass");
if (!$wynik)
return false;
if (!@mysql_select_db("baza"))
return false;
return $wynik;
}

function pobierz_rekord_uzyt($nazwa_uz)
{
$lacz = lacz_bd();
$sql = "select * from admin where nazwa_uz = '$nazwa_uz'";
$wynik = mysql_query($sql, $lacz);
return(mysql_fetch_array($wynik));
}

function loguj($nazwa_uz, $haslo)
{
// łączenie z bazą danych
$lacz = lacz_bd();
if (!$lacz)
return 0;

$wynik = mysql_query("select * from admin where nazwa_uz='$nazwa_uz' and haslo = password('$haslo')");
if (!$wynik)
return 0;
if (mysql_num_rows($wynik)>0)
return 1;
else
return 0;
}

function sprawdz_uwierz_uzyt()
// sprawdzenie zalogowania i powiadomienie jeżeli nie
{
global $uwierz_uzyt;
if ( (session_is_registered("uwierz_uzyt")) && (isset($uwierz_uzyt)) )
return true;
else
return false;
}
session_start();

if ( (!$nazwa_uz) || (!$haslo) ) { ?>
Zła nazwa użytkownika lub hasło.
<? exit; }

if (loguj($nazwa_uz, $haslo)) {
$uwierz_uzyt = $nazwa_uz;
session_register("uwierz_uzyt");
header("Location: $HTTP_REFERER");
}
else { ?>
Nieprawidłowe hasło<? exit; }

?>[/php:1:a5b897b878]

Czy to jest moze cos zwiazane z php.ini i wyłączonymi sesjami?
Skontaktowalem sie z adminem serwera ale on twierdzi ze skrypt jest zly (podobno uruchomione dwa razy sesje). Dziwne stwierdzenie bo na innym serwku chodzi bez problemu.
Proszę o pomoc.
binio
Zapomniałem dodać że mimo wyswietlenia tych błędów loguje sie biggrin.gif
Gdy wcisne przycisk wstecz to powracam do strony logowania i jestem zalogowany.
kossa
Kod
headers already sent


nie analizowalem Twojego kodu ale blad ten oznacza ze wysylasz cos przed sesja a nie mozna, najpierw sesja, cookies a dopiero cala reszta czyli np. html

Kossa
binio
Dzieki wielkie biggrin.gif
O to chodziło smile.gif
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.