![]() ![]() |
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 pomylnie</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) |
|
|
|
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 <? |
|
|
|
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 |
|
|
|
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
|
|
|
|
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 |
|
|
|
| -gumonman- |
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)
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%)
|
rozpoczecie sesji na poczatek strony i powinno grac. ja to samo mialem.
|
|
|
|
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) |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%)
|
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)
|
|
|
|
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 |
|
|
|
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. |
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 23:22 |