![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Witam.. Po przeczytaniu pewnego poradnika wziałem się za napisanie skryptu. Ma on pewien błąd otóż:
W każdej podstronie jest błąd Kod [b]Warning[/b]: session_start() [[url="http://simsnews.pl/test/function.session-start"]function.session-start[/url]]: Cannot send session cookie - headers already sent by (output started at /home/ibanez/domains/simsnews.pl/public_html/test/funkcje.php:160) in [b]/home/ibanez/domains/simsnews.pl/public_html/test/omnie.php[/b] on line [b]5[/b] [/b]I taki sam do plików: index.php, uzytkownicy.php, omnie.php, rejestracja.php.[b]Warning[/b]: session_start() [[url="http://simsnews.pl/test/function.session-start"]function.session-start[/url]]: Cannot send session cache limiter - headers already sent (output started at /home/ibanez/domains/simsnews.pl/public_html/test/funkcje.php:160) in [b]/home/ibanez/domains/simsnews.pl/public_html/test/omnie.php[/b] on line [b]5 A tutaj kody: Index.php Kod <?php //wczytanie pliku z funkcjami require_once ("funkcje.php"); //rozpoczęcie sesji session_start(); //formularz logowania wy_form_logo(); ?> Funkcje.php Kod <?php function pol_mysql() { //ustawiamy teraz dane naszej bazy $db_host = 'localhost'; $db_user = 'ibanez_simsnews'; $db_pass = '********'; $db_name = 'ibanez_simsnews'; //ustawiamy polączenie z bazą danych $lacz = mysql_pconnect($db_host, $db_user, $db_pass); if(!$lacz) { echo "Wystąpił błąd: Połączenie z bazą nie powiodło się."; exit; } //wybieramy bazę if(!@mysql_select_db($db_name, $lacz)) { echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>'; exit; } } function wynik_db_do_tablicy($wynik) { $tablica_wyn=array(); for($licznik=0; $rzad=@mysql_fetch_array($wynik); $licznik++) $tablica_wyn[$licznik]=$rzad; return $tablica_wyn; } function html_url($url, $nazwa) { // wyświetlenie URL-a jako łącza ?> <P align="center"> <a href="<?=$url?>"><?=$nazwa?></a> </P> <? } //wyswietla nam pole do zalogowania się, bądź rejestracji;) 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>Hasło:</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 użytkownika</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>Płeć:</td> <td>Mężczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr> <tr> <td>Hasło:</td> <td><input type=password name=haslo></td></tr> <tr> <td>Powtórz hasło:</td> <td><input type=password name=haslo2></td></tr> <tr><td colspan=2><h4>Hasło powinno składać się z nie więcej niż 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 użytkownika do bazy danych function dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2) { if ($haslo != $haslo2) { echo "<H3 ALIGN=center>Hasła nie są takie same.</h3>"; dodaj_form(); exit; } $polaczenie= pol_mysql(); // sprawdzenie, czy login nie powtarza się $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>Użytkownik o takiej nazwie jest już 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 zakończona 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 się $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 użytkownika 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 hasło</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>"; } ?> uzytkownicy.php Kod <? //wczytanie pliku z funkcjami require_once ("funkcje.php"); //rozpoczęcie sesji session_start(); //kod PHP if ($_GET['m'] == 'rejestracja') dodaj_form(); if ($_GET['m'] == 'log') logowanie($login, $haslo); ?> omnie.php Kod <?php //wczytanie pliku z funkcjami require_once ("funkcje.php"); //rozpoczęcie sesji session_start(); //kod PHP if (session_is_registered("user")) { echo "Może posłużyć jako menu, czy coś innego;)"; echo "<br><A HREF=wyloguj.php>Wyloguj</a>"; } else { echo "<H3 ALIGN=center>Nie masz uprawnień do korzystania z tej strony! Wróc i się zaloguj</h3>"; html_url("index.php", "Logowanie"); exit; } ?> PS. Jak wchodze w omnie.php to mi niszczy sesje nie wiem dlaczego ;/ |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 5 Dołączył: 24.08.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Musisz tę funkcję wykonywać tuż po "<?php", gdyż nic nie może zostać wysłane do przeglądarki, przed jej wywołaniem. -------------------- Pozdrawiam,
Łukasz "Rutek" Rutkowski Eazu.pl, WebDay.pl |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Dzięki pomogło
![]() EDIT: Już to zrobiłem ;P Ale jeszcze jedno.. nie bede pisał nowego tematu to pisze tu: Szukam poradnika dzięki któremu zrobię coś takiego że każdy użytkownik ma swój profil i inni użytkownicy moga go oglądać np przez adres: www.simsnews.pl/profile/00001 Ten post edytował K4mil94 3.10.2008, 17:44:35 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
użyj mod_rewrite
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Ale chodzi mi o zrobienie w ogóle czegoś takiego.. Wiem że trzeba sie bawić z mod_rewita dla adresu. Ale jak w ogóle zrobić to że mają swój profil z avarem itp. i inni widzą profil.. najlepiej żeby był jakiś poradnik
Ten post edytował K4mil94 3.10.2008, 18:04:02 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
w bazie danych trzymasz dane do profilu, potem dynamicznie za pomocą id usera z adresu www pobierasz dane i je odpowiednio formatujesz.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Z tego co rozumiem to każdy user ma mieć swoją tabele w bazie ? Ale jak zrobić zeby inni widzieli jego profil.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
nie kazdy osobną tabelę a osobny "rekord" w bazie danych tj unikalne dla niego id oraz inne dane ;]
Pobierasz je za pomocą protego zapytania SELECT To taki przykład -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Byłby do tego poradnik jakiś ? bo nie zabardzo to kapuje ;p
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
wątpię, jak chcesz to zrobić pożądanie to naucz sie PHP czytaj książki , manuala itp...
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Uczyłem się PHP i już coś umiem ale nie znam wszystkich jego możliwości. Większość nauczyłem się właśnie z przerabiania takich skryptów. Dlatego szukam tak owego poradnika.. Nie wiem czy dobrze myślę ale mam taki skrypt downloadu... Można by go przerobić tak aby dodawać swój profil na podstawie dodawania plików ?
![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
Cytat Nie wiem czy dobrze myślę ale mam taki skrypt downloadu... Można by go przerobić tak aby dodawać swój profil na podstawie dodawania plików ? A jak chcesz to zrobic? Ne mozesz przerobic innego skryotu rejestracji? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Dobra. Pomyślałem nad tym i wywnioskowałem żeby do pokazania profilu użytkownika użyć $_GET. W bazie każdy ma swoje id, i teraz pytanie: Jak zrobić aby po wpisaniu www.simsnews.pl/profiles.php?id=33. To że to przez użycie get to sam wiem ale jak zdefiniować żeby po napisaniu w id= numerku dalo info o id 33 z bazy ?
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
podałem ci zapytanie do bazy kilka postów wyżej. Pamiętaj tylko o przefiltrowaniu zmiennej GET
-------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
Właśnie napisałem sobie listę użytkowników :
Kod <? $polacz = mysql_connect ("localhost", "ibanez_simsnews", "******") or die (mysql_error());; mysql_select_db ("ibanez_simsnews", $polacz) or die (mysql_error()); $pliki = mysql_query(" SELECT * FROM `users` LIMIT 0 , 100 "); while ($dane = mysql_fetch_array($pliki)) { $login = $dane[login]; $skad = $dane[skad]; print "Nick: $login -> Skąd: $skad <br> "; } ?> Ale dalej nie rozumiem jak wyświetlić sam profil o id 33 za pomocą get;( Ten post edytował K4mil94 4.10.2008, 07:51:55 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
Ale Piniek napisal CI jak ma wygladac zapytanie ?!
Cytat nie kazdy osobną tabelę a osobny "rekord" w bazie danych tj unikalne dla niego id oraz inne dane ;] Pobierasz je za pomocą protego zapytania SELECT SQL SELECT * FROM users WHERE id = $_GET['id'] To taki przykład Zrob tak jak CI napisal i bedziesz mial to co chcesz. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
A jak definiować id każdego usera ?
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
no np przez mała zmiane w Twoim skrypcie wyzej
login -----> jako odsylacz do profilu |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 18 Dołączył: 10.03.2008 Skąd: Dębno Ostrzeżenie: (0%) ![]() ![]() |
A jak zrobić zeby samo czytało z bazy id i odrazu było w linku ze id 33 bo nie mam zrobionego pliku profiles
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
O co Ci kaman bo juz nie wiem?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:23 |