Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem w pliku wyswitla sie blad, wyswietla mi sie blad
Blizz
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.03.2008

Ostrzeżenie: (0%)
-----


Witam mam taki problem mam 6 plikow na rejestracje + logowanie + dostem do specjalnego miejsca gdzie moga sei podlaczy tylko zarejestrowani
i mam taki problem w moich plikach mam gdzies bledy i moje pytanie brzy czy mogl by mi ktos powiedziec co robie zle by mi sie to nie wysyswietlalo
mam pliki takie jak rejestracja.php index.php uzytkownicy.php wyloguj.php fukcje.php omnie.php prosze o powiedzenia mi bledow w moim kodzie
Moj Blad brzmi
Cytat
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\usr\krasnal\www\page\rejestracja\funkcje.php:161) in c:\usr\krasnal\www\page\rejestracja\index.php on line 5

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\usr\krasnal\www\page\rejestracja\funkcje.php:161) in c:\usr\krasnal\www\page\rejestracja\index.php on line 5

i niewiem o co chodzi

a oto moje pliki

rejestracja.php
Cytat
<?
//wczytanie pliku z funkcjami
require_once ("funkcje.php");
//rozpoczecie sesji
session_start();
session_cache_limiter('nocache');
//kod PHP

if ($login && $plec && $haslo)
$wynik = dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2);
else
exit;
?>


index.php
Cytat
<?php
//wczytanie pliku z funkcjami
require_once ("funkcje.php");
//rozpoczecie sesji
session_start();
session_cache_limiter('nocache');

//formularz logowania
wy_form_logo();
?>


uzytkownicy.php
Cytat
<?
//wczytanie pliku z funkcjami
require_once ("funkcje.php");
//rozpoczecie sesji
session_start();
session_cache_limiter('nocache');
//kod PHP
if ($_GET['m'] == 'rejestracja')
dodaj_form();
if ($_GET['m'] == 'log')
logowanie($login, $haslo);
?>


wyloguj.php
Cytat
<?
session_start();
session_cache_limiter('nocache');
//wczytanie pliku z funkcjami
require_once ("funkcje.php");
//sprawdzenie uzytkownika za pomoca sesji i ewentualne jej wyrejestrowanie.
if (session_is_registered("user"))
{
session_unregister("user");
echo "<H3 ALIGN=center>Zostalesœ wylogowany!</h3>";
html_url("index.php", "Logowanie");
}
else
{
echo "<H3 ALIGN=center>Nie bylesœ zalogowany!</h3>";
html_url("index.php", "Logowanie");
}
//zakonczenie wyrejestrowania
?>




cz.2
funkcje.php
Cytat
<?php

function pol_mysql()
{


//ustawiamy teraz dane naszej bazy
$db_host = 'localhost';
$db_user = 'root';
$db_pass = 'krasnal';
$db_name = '123';

//ustawiamy polaczenie z baza danych
$lacz = mysql_pconnect($db_host, $db_user, $db_pass);
if(!$lacz)
{
echo "Wystapil blad: Polaczenie z baza nie powiodlo sie.";
exit; }

//wybieramy baze
if([email="!@mysql_select_db($db_name"]!@mysql_select_db($db_name[/email], $lacz)) {
echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>';
exit; }

}

function wynik_db_do_tablicy($wynik)
{
$tablica_wyn=array();

for($licznik=0; [email="$rzad=@mysql_fetch_array($wynik"]$rzad=@mysql_fetch_array($wynik[/email]); $licznik++)
$tablica_wyn[$licznik]=$rzad;

return $tablica_wyn;
}

function html_url($url, $nazwa)
{
// wyswietlenie URL-a jako lacza
?>
<P align="center">
<a href="<?=$url?>"><?=$nazwa?></a>
</P>
<?
}

//wyswietla nam pole do zalogowania sie, badz rejestracji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
function wy_form_logo()
{
?>
<form method=post action="uzytkownicy.php?m=log">
<TABLE ALIGN="center">
<tr>
<td><b>Login:</b></td>
<td><input type=text name="login"></td>
<td><b>Haslo:</b></td>
<td><INPUT type=password name="haslo"></td>
<td align=center colspan=2>
<INPUT TYPE="SUBMIT" VALUE="Zaloguj"></td>
<td><a href="uzytkownicy.php?m=rejestracja">Rejestracja</a></td>
</tr>
</table></form>

<?
}
// formularz rejestracji
function dodaj_form()
{
?>
<form method=post action="rejestracja.php">
<TABLE ALIGN="center">
<tr>
<td colspan=2><H1>Dodanie nowego uzytkownika</H1><TD></TD></td>
<tr>
<td>Login:</td>
<td><input type=text name=login></td></tr>
<tr>
<td>Numer Gadu-Gadu:</td>
<td><input type=text name=gg></td></tr>
<tr>
<td>Skšd jesteœ:</td>
<td><input type=tekst name=skad></td></tr>
<tr>
<td>Plec:</td>
<td>Mezczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr>
<tr>
<td>Haslo:</td>
<td><input type=password name=haslo></td></tr>
<tr>
<td>Powtórz haslo:</td>
<td><input type=password name=haslo2></td></tr>
<tr><td colspan=2><h4>Haslo powinno skladac sie z nie wiecej niz 12 znaków.</H4></td></TR>
<tr>
<td align=center colspan=2>
<input type=submit value="Zapisz"></td></TABLE></form>
<?
html_url("index.php", "Logowanie");
}
//dodajemy uzytkownika do bazy danych
function dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2)
{
if ($haslo != $haslo2)
{
echo "<H3 ALIGN=center>Hasla nie sa takie same.</h3>";
dodaj_form();
exit;
}
$polaczenie= pol_mysql();
// sprawdzenie, czy login nie powtarza sie
$wynik = mysql_query("select * from users where login='$login'");
if(!$wynik)
return "Problem: zapytanie z bazy nieudane";
if (mysql_num_rows($wynik)>0)
{
echo "<H3 ALIGN=center>Uzytkownik o takiej nazwie jest juz zarejestrowany, spróbuj inny login</h3>";
dodaj_form();
}
$czas = date("j-m-Y-G:i:s");
// umieszczenie usera w bazie danych
$zapytanie = "insert into users values
('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas')";
$wynik=mysql_query($zapytanie);
if($wynik)
{
echo "<H3 ALIGN=center>Rejestracja zakonczona pomyœlnie</h3>";
echo "<H4 ALIGN=center><a href='index.php'>Strona Logowania</a></h4>";
exit;
}
return true;
}

function logowanie($login, $haslo)
{
$polaczenie= pol_mysql();
// sprawdzenie, czy login nie powtarza sie
$wynik = mysql_query("select * from users where login='$login'");
if(!$wynik)
return "Problem: zapytanie z bazy nieudane";
if (mysql_num_rows($wynik)== 0)
{
echo "<H3 ALIGN=center>Niema takiego uzytkownika w bazie danych</h3>";
wy_form_logo();
exit;
}
$tab_user = wynik_db_do_tablicy($wynik);
if ($tab_user[0]['haslo'] != $haslo)
{
echo "<H3 ALIGN=center>Niepoprawne haslo</h3>";
wy_form_logo();
exit;
}
$user = $login;
//rejestrowanie danych sesji
session_register("user");
echo "zalogowany jako: <b>" .$user."</b>, jesteœ z <b>".$tab_user[0]['skad']."</b>, data twojej rejestracji to: <b>".$tab_user[0]['data']."</b><br>";
echo "<a href=omnie.php>Strona o mnie</a>";

}
?>


i omnie.php
Cytat
<?php
//wczytanie pliku z funkcjami
require_once ("funkcje.php");
//rozpoczecie sesji
session_start();
session_cache_limiter('nocache');
//kod PHP
if (session_is_registered("user"))
{
echo "Moze posluzyc jako menu, czy cos innego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ";
echo "<br><A HREF=wyloguj.php>Wyloguj</a>";
}
else
{
echo "<H3 ALIGN=center>Nie masz uprawnien do korzystania z tej strony! Wróc i sie zaloguj</h3>";
html_url("index.php", "Logowanie");
exit;
}
?>


moze mi ktos powiedziec moj blad (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
maciek258
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 1
Dołączył: 17.03.2008

Ostrzeżenie: (0%)
-----


session_start() daj na początek zaraz po <?
sprawdź czy nie masz spacji pred <?
Go to the top of the page
+Quote Post
Helios
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.07.2006

Ostrzeżenie: (0%)
-----


Najpierw wywolujesz plik funkcje.php, ktory wysyla dane do przegladarki a pozniej probujesz wysylac naglowki (session_start()) a nie taka powinna byc kolejnosc. Najpierw naglowki, pozniej dane. Bedzie Ci sie sypac nawet jak usuniesz z dolaczanych przed session_start plikow wszelkie wyswietlanie danych a w tych plikach bedzie np. bialy znak na koncu pliku. Rozwiazanie: zmiana kolejnosci (naglowki, pozniej dolaczanie plikow z wyswietlaniem danych), manual: ob_start() ob_end_flush()

Ten post edytował Helios 24.03.2008, 23:02:01
Go to the top of the page
+Quote Post
Blizz
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.03.2008

Ostrzeżenie: (0%)
-----


oki sprawdzilem jest ciagle za tym lecz ciagle mi wywala ten blad moze mi ktos pomuc ??zalezy mi na tym?? bo kolegi nademna nie kapuje
Go to the top of the page
+Quote Post
Trobin
post
Post #5





Grupa: Zarejestrowani
Postów: 82
Pomógł: 6
Dołączył: 23.03.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Chodzi o to, że session_start wysyła do przeglądarki nagłówki i one powinny lecieć tam najprędzej. Tymczasem w Twoim skrypcie najpierw wysyłasz dane (includując funkcje.php) a dopiero potem session_start, który ma pierwszeństwo przed resztą danych wysyłanych do przeglądarki (podobnie zresztą jak cookies). Rozwiązaniem może być przesunięcie session_start na sam pocztątek skryptu, bądź skorzystanie z funkcji ob_start() i ob_end_flush(). ob_start(); umieść na początku swojego pliku (zaraz za <?php) a ob_end_flush(); umieść na końcu pliku (tuż przed ?>).

Ten post edytował Trobin 25.03.2008, 02:27:21
Go to the top of the page
+Quote Post
-gumonman-
post
Post #6





Goście







jeżeli nic nie będzie pomagać, to upewnij się że Twój edytor nie dodaje jakiś swoich znaczników. Sprawdź czy masz kodowanie (np. utf-8) bez BOM. Jeżeli będziesz miał ustawione BOMsy, to session_start(); za chiny nie odpali (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #7





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


rozpoczecie sesji na poczatek strony i powinno grac. ja to samo mialem.
Go to the top of the page
+Quote Post
netes
post
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 5.06.2003

Ostrzeżenie: (0%)
-----


Ten błąd pojawia się dość często nawet kiedy session_start() jest na początku dokumentu i nie jest poprzedzony żadnym znakiem.
Problemem jest kodowanie z Byte-Order-Mark (jak napisał -gumonman- wyżej). Aby się tego pozbyć użyj np. Notepad++, z menu wybierasz format i "Koduj bez BOM", zapisujesz i gra (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #9





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


ja jak mialem problem ze sesja to mialem umieszczone rozpoczecie w pliku ktory byl includowany do indexu. jak go otwieralem osobno to dzialal ale w indexie juz nie. czuje ze on popelnil ten sam blad (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
nate
post
Post #10





Grupa: Zarejestrowani
Postów: 5
Pomógł: 1
Dołączył: 18.07.2007
Skąd: Koszalin / Słupsk

Ostrzeżenie: (0%)
-----


Kiedyś miałem ten sam problem, rade sprawdzić ustawienia serwera Apache.
Widzę, że korzystasz z krasnala, wiec znajdz sobie plik httpd.conf albo apache2.conf.

Poszukaj w nim linijki output_buffering i ustaw ją na Off
Go to the top of the page
+Quote Post
Cienki1980
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----



Proszę zapoznać się z Tematyką i zasadami panującymi na forum Przedszkole i dodać poprawny tag do tematu.

W innym przypadku wątek zostanie zamknięty.

PS. Proszę również poprawić BBCode w pierwszym poście.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 23:22