Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> forum
KRCreater
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

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


mam zamiar napisać własne forum:
1.Od czego zacząć?jakie bazy danych utworzyć i ile?
2.Korzystać z $_GET czy sesji?
Go to the top of the page
+Quote Post
kubatron
post
Post #2





Grupa: Zarejestrowani
Postów: 581
Pomógł: 0
Dołączył: 21.07.2003
Skąd: Jasło

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


1. Używać Mysql chyba że chcesz się meczyc na plikach, a od czego zaczonć to jakiś silnik który to napędza
2. Co masz na myśli mówiąc $_GET czy sessji przeciez to nie ma nic ze soba wspolnego!
Go to the top of the page
+Quote Post
Bakus
post
Post #3


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Najlepiej zobacz w jaki sposób działają skrypty takie jak IPB, czy phpBB i na tym się bazuj...
Go to the top of the page
+Quote Post
Puciek
post
Post #4


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Cytat(KRCreater)
mam zamiar napisać własne forum:
1.Od czego zacząć?jakie bazy danych utworzyć i ile?
2.Korzystać z $_GET czy sesji?

Brzmi to trochę jak pytanai osoby która z php ma kontakt od niedlugiego czasu i całkowity brak doświadczenia w wydajnej pracy nad większymy projektami, ale zakładając że tak nie jest przedstawię ci jak ja zasiadłem to pisania własnego forum (http://fgarden.e6.pl/forum/).

Zacząłem od wybrania pomiędzy wydajnością a wielkości bazy danych. Jest to wybór zasadniczy ponieważ jeżeli zdecydujemy się na wielką bazę danych to będziemy wpisywać ilość postów, ilość tematów w danym forze, a co za tym idzie dośc sporą ilość danych. Z koleji na mniejszej wydajności (moje rozwązanie) wszystkie dane dynamiczne (ilość postów, ilość tematów w forze) pobieramy za każdym wywołaniem.

Po dokonaniu wyboru zasiadamy do choćby notatnika i zapisujemy plik jako "dokumentacja.txt" i zaczynamy zapisywać tam wirtualne tabele bazy danych, na zasadzie
Cytat(Puciek Forum Doc)
fora(5 pól)
  id, nazwa, opis, pozycja, status
      id - Numer kontrolny fora
      nazwa - Etykietka fora
      opis - Opis fora
      pozycja - Numer kolejności fora
      status - 0-Wyłączone, 1-Włączone

i dzięki temu podczas pisnaia dalszego oskryptu mogę bez łaczenia się z bazą danych odrazu sprawdzić jak wygląda dana tabela i jak się do niej odwołać.

Potem następuje mozolne skryptowanie, ja skryptowałem "warstwowo". Znaczy to tyle że najpierw powstaje jądro, potem moduł wyświetlający layout, potem modół ładujacy system mieszkańców, logowania itd.

Od kiedy forum będzie w miare funkcjonalne (możliwa rejestracja, logowanie, pisanie postów, zakładanie tematów) wypuszczamy je i ludzie dyskutują, zgłaszajac przy okazji błedy. Kiedy załatamy wskazane siadamy do kolejnych modółów i tak aż do ukończenia pracy.

Nie ma tu za dużo konkretów ponieważ tu każdy musi zachowac indywidualnosc rozwiazań, ponieważ jeśli ma to działać jak inne fora to nie ma sensu tego pisać bo jak to mówi Dragossani "Po co wyważać otwarte drzwi ?".
Go to the top of the page
+Quote Post
Vertical
post
Post #5





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Po pierwsze załóż bazę MySQL, a po drugie stwórz w niej tabelę z danymi, jakie ci potrzeba (zależy jakie to ma być forum), a po drugie: sesja i $_GET mało mają ze sobą wspólnego... powinieneś się raczej zapytać: $_GET czy $_POST... a tak na marginesie, to staraj się jak najczęściej używać $_POST... chyba, że się nie da. Wiesz... znałem kolesia, który próbował napisać "najlepsze" forum i login ustawił metodą $_GET... Szczerze odradzam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A tak nawiasem mówiąc do Puciek'a- nie gnój tak KRCreater'a, bo mu się odechce na tym forum pisać...
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif)

Ten post edytował Vertical 9.09.2004, 15:11:44
Go to the top of the page
+Quote Post
Puciek
post
Post #6


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Cytat(Vertical @ 2004-09-09 16:06:34)
A tak nawiasem mówiąc do Puciek'a- nie gnój tak KRCreater'a, bo mu się odechce na tym forum pisać...

Nie gnoje go tylko inforumuje że należy mierzyć siły na zamiary, a pisanie forum to zadanie wyższych lotów.
Go to the top of the page
+Quote Post
yavaho
post
Post #7





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Ja tez jestem na wstepnym etapie pisania forum i tez nie wiem do konca jak to zrobic choc juz mam zrobione pewne moduly.
Pochwale sie jak w tej chwili wyglada moja baza danych i przy okazji poprosze o skomentowanie tego czy dobrze ja zaplanowalem.

Forum ma byc dolaczone do istniejacej juz strony na ktorej istnieje juz baza danych z userami ktorzy maja juz okreslone rozne uprawnienia w dodatku w bazie z userami znajduja sie dwa wolne pola Integer ktore moge wykorzystac.
Odpada wiec tworzenie tablicy z userami. Pozostale tablice zaplanowalem tak:

TABLE forum
ID
nr - numer dzieki ktoremu bede mogl ustawic pozycje na stronie
temat - glowny temat forum
opis - krotki opis tematu
status - tu ustale prawa kto bedzie mogl czytac i pisac na tym forum
il_watkow - licznik (ile juz jest watkow w tym forum)
il_odpowiedzi - licznik (ile jest odpowiedzi)

TABLE watek
ID
ID_forum - powiazanie z tabela (forum)
ID_users - powiazanie z tabela (users)
temat - temat watku tworzony przez uzytkownika
data - data utworzenia watku
status - tu bede mogl np zablokowac watek
il_odpowiedzi - licznik (ile jest odpowiedzi)
il_wyswietlen - licznik (ile bylo wyswietlen)

TABLE wypowiedz
ID
ID_watek - powiazanie z tabela (watek)
ID_users - powiazanie z tabela (users)
data - data dodania wypowiedzi
tresc - no i tresc
Go to the top of the page
+Quote Post
KRCreater
post
Post #8





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

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


yavaho zrobiłem podobnie do Ciebie tylko u mnie wszystko sie inaczej nazywa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Nie mierze za wysoko bo z php jestem już trochę obeznany (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) hehe (wszystkiego nauczyłem się - można tak powiedzieć - na tym forum,a reszte wyczytałem w dokumentacji php.
Wracając do tematu, stowrzyłem 3 tabele forum_dzialy,forum_topic,forum_odp
ale mniejsza z tym.Już zrobiłem wszystko żeby mi wyświetlało - jest elegancko.
Tylko mam mały problem, nie mam pomysłu jak zrobić dla każdego usera to aby pokazywała się ikonka przy topicu którego on jeszcze nie czytał, a jak przeczyta ( kliknie w link topciu ) to się zmieni na taką które będzie symbolizowała że już to widział. A jak pojawi sie odpowiedź w tym temacie to on skoczy na początek, górę danego działu i znów pokaze się ikonka. jak to zrobić ? To ze "skoczeniem" topicu na góre zrobie tak że poprostu posortuje bazę według daty i godziny.

Ale jak zrobić te ikonki??zastosować ciastka hehe
A drugi problem to chciałem aby przy dziale pokazała się data ostatniego topicu , nazwa użytkownika który utowrzył topic i temat

Mam nadzieję że w tym mi pomożecie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
Puciek
post
Post #9


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Wyświetlanie danych z ostatniego posta to poprostu zapytanie z order by data i limit 0,1. A potem wyświetlenie.

A co do postów to najlepiej zrobic coś na zasadzie Post Trackera w którym apisujemy przez kogo dany post został obejrzany.
Go to the top of the page
+Quote Post
KRCreater
post
Post #10





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

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


że sam na to nie wpadłem.

post_tracker?
hmmm ja chcę to zrobić za pomoca ciastek, chcę storzyć ciacho o id topicu np. 34732 i przy wyświetleniu topicu sprawdzi czy ciacho istnieje jeżeli nie to je tworzy.
A przy wyświetlaniu listy topic'ów zadziala anlogicznie ;]

Ale w sumie to będzie działać tylko raz jak kliknie to ten topic będzie uznany jako przeczytany ciastko się zrobi i kicha, bo ja ktoś odpowie to się nie pokaże ikona już że jest nowa wiadomość, ponieważ ciastko już będzie istniało.
Więc jak by to zrobić hmmmmm (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)

Ten post edytował KRCreater 9.09.2004, 23:28:04
Go to the top of the page
+Quote Post
yavaho
post
Post #11





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Podczas wyswietlenia topicu nalezalo by storzyc ciacho lub oswiezyc juz istniejace i zapisac w nim liczbe ile odpowiedzi juz ma dany topic potem sprawdzac czy ta liczba wzrosla, albo zapisywac aktualny czas otwarcia topicu i potem porownac czy ostatnia odpowiedz w topicu ma pozniejszy czas.
Tylko nie wyobrazam sobie tego jak to bedzie dzialalo jak ktos dziennie otwiera kilkadziesiat topikow? Ilosc ciasteczek jest chyba ograniczona i nie kazdy klient moze miec wlaczone ciasteczka. A w moim przypadku jest tak ze serwer wogule nie wysyla ciasteczek do klientow! Mysle ze do tego trzeba by bylo wykorzystac baze danych.

Puciek - co to jest Post Tracker?
Go to the top of the page
+Quote Post
KRCreater
post
Post #12





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

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


No dobra nie zastosuje ciastke ze względu na to że niektórzy mają to wyłączone i przedewszystkim że to może dużo zajmować miejsca.
Więc w jaki sposób w bazie mysql mam to zrobić?hmmmmmm (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)

Proszę o jakieś sugestie jak mogę to zrobić w bazie mysql - nie stosując ciastek?

Ten post edytował KRCreater 10.09.2004, 11:48:14
Go to the top of the page
+Quote Post
Puciek
post
Post #13


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Cytat(yavaho @ 2004-09-10 01:26:14)
Puciek - co to jest Post Tracker?

Jest to tbela w ktorej zapisane jest id kazdego posta oraz lista uzytkownikow korzy je widzieli, co w pelni rozwiazuje problem z nowymi postami. Osobiscie sam mysle nad czyms nowym poniewaz to strasznie pozera baze danych.
Go to the top of the page
+Quote Post
bigZbig
post
Post #14





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Moim zdaniem nalezy zarejestrowac date i godzine wyswietlenia danego tematu przez konkretnego usera i porownac ja z data ostatniego posta w temacie. Jezeli data ostatniego posta jest pozniejsza od daty odwiedzin to znaczy ze nalezy wyswietlic ikonke nieprzeczytane.

A tak na marginesie. Zanim zaczniecie pisac skrypty dobrze sobie wszystko przemyslcie. Uwzglednijcie np wersje jezykowe, wersje layautu. Najlepiej podpatrzec rozwiazania z innych for.

Natomiast co do pytania sesje czy GET to wcale nie jest ono bez sensu bo tak naprawde sprowadza sie do problemu przenoszenia identyfikatora sesji. W phpBB jest tak, ze jezeli z jakichs powodow automatyczne przekazywanie identyfikatora sesji (np poprzez ciasteczka) nie dziala to do kazdego adresu dolaczany jest identyfikator sesji. Dzieki temu sesje dzialaja w kazdej sytuacji bez wzgledu na ustawienia serwera czy indywidualne ustawinia przegladarek.
Go to the top of the page
+Quote Post
KRCreater
post
Post #15





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

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


A więc co zastosować ciastka czy Post Tracker?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Puciek
post
Post #16


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Zapytaj się jeszcze czy uzyć echo() czy print(), to wszystko zlaezy od ciebie.
Go to the top of the page
+Quote Post
KRCreater
post
Post #17





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

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


nie rób ze mnie k#&%@! debila (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif)
Pytam bardziej doświadczonych.
Może zrobimy ankiete ? ha?
Chciałbym jakąś konkretną odpowiedź
Go to the top of the page
+Quote Post
Puciek
post
Post #18


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Nie klnie sie w miejscu publicznym.

A gwoli scislosci to tutaj zdania beda podzielone, bo kazdy zyje po sowjemu a jezeli oczekujesz ze ktos bedzie cie za reke rpowadzil podajac cale zalozenia to to nie bedzie twoje forum. SWOJE FORUM MUSISZ ROBIC SAM !
Go to the top of the page
+Quote Post
KRCreater
post
Post #19





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

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


Sorry za przeklinanie,ale kurczę wydaje mi się,a jestem nawet skłonny powiedzieć, że jestem pewien,bo ludzie odwiedzający moje forum nie będą nawet wiedzieć jak wyłączyć ciastka.Więc zastosuje ciastka,a nie post tracker'a, ale powoli już sam nie wiem co było by bardziej słuszne...
Jeżeli będa dochodziłu do mnie głosy że ludzie mają wyłączone ciastka to to zmienia poprostu

pozdro stary

ps. mam wypite troche więc moge krzywo pisać (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) :żubr: haha
ps2. jak wyciągnąć z ciastka value (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) bo zapomniałem $_COOKIE['i jak dalej'] hehe

Ten post edytował KRCreater 11.09.2004, 22:26:46
Go to the top of the page
+Quote Post
yavaho
post
Post #20





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


stanowczo za duzo zubra (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. <?php
  2. if(isset($_COOKIE['nazwa_ciacha']))
  3. $zmienna = $_COOKIE['nazwa_ciacha'];
  4. ?>
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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: 24.08.2025 - 09:46