Otsikko kertoo, miten se on toteutettu, onko kokonaan itse tehty vaiko jonkun oppaan avulla? Tahtoo tehdä itse jonkun saman tapaisen, mutta taidot taitavat loppua kesken.
On tehty seuraavan oppaan avulla: https://www.ohjelmointiputka.net/oppaat/opas.
Ei taida riittää... Olen kyllä nuo kaikki PHP-oppaat lukenut. Tarkoitan ennemminkin jotain tutoriaalia tai esimerkkiä ym...
Kyllä se riittää, itse olen ainakin tuon oppaan pohjalta kivat foorumit saanut tehtyä. :)
Valmiita palikoitakin on olemassa: http://www.phpbb.com/ . Tosin tuo näyttäisi käyttävän XHTML:ää, kun taas nykyään nettisivuja tehdään kai useimmiten HTML5+RDFa -kombinaatiolla.
Ilmeisesti Antin koodaama https://www.ohjelmointiputka.net/keskustelu/3857-putkan-lähdekoodit-julkisiksi
Kilpailevan sivuston (Mureakuhan) lähdekoodi on muuten vapaasti saatavilla.
Sinänsähän keskustelufoorumi on perustasolla hyvä muutaman tunnin ohjelmointiharjoitus, jonka aika monetkin weppikoodarit on jossain vaiheessa tehneet omaksi ilokseen.
Mistäs tuon mureakuhan lähdekoodin löytää?
ZuBer kirjoitti:
Mistäs tuon mureakuhan lähdekoodin löytää?
Täältä: http://mureakuha.com/cgi-bin/viewvc.cgi/kuha/?root=cvs
http://mureakuha.com/info
Esim tuolla sitten pari sataa lisää
http://www.hotscripts.com/category/php/scripts-programs/discussion-boards/
Kiitos linkeistä. Tosin yhden noista jo löysin omin avuin.
Aiheesta toiseen, miten pystyn muuttamaan asetuksia phpMyAdminissa? Latasin Apachen ja sen mukana tullut tunnus MySql:llään oli root ja tyhjä salasana. Kun käytän phpMyAdminia, valittaa se, että joku asetus on väärin...? Ei tyhjä salasana käytössä...? Onkohan edes oikea tunnus...
Olennaista keskustelualueen tekemisessä on, että osaa soveltaa asioita. Hyvä lähtökohta voisi olla tehdä tarvittavat taulut tietokantaan ja miettiä sitten, miten skriptien tulisi hakea ja lisätä tietoa.
Keskustelualueen perustoiminnot pystyy toteuttamaan varsin yksinkertaisella koodilla, vaikka valmiista toteutuksista voi tulla sellainen kuva, että kyseessä olisi monimutkainen järjestelmä.
Niin, no valmiit keskustelusoftathan usein on monimutkaisia järjestelmiä. Niissä on yleensä hirveä määrä kaikkia oheistoimintoja yksityisviesteistä moderointiapuihin, tilastointiin yms.
ZuBer kirjoitti:
Latasin Apachen ja sen mukana tullut tunnus MySql:llään oli root ja tyhjä salasana.
Apachen mukana ei tule MySQL:ää. Olisiko mahdollisesti ladannut jonkin paketin, jossa on sekä MySQL että Apache?
Yksinkertainen viestien lähetys ja muokkaus on helppo tehdä. Viestien muotoilun toteuttaminen turvallisesti on paljon isompi työ. Mutkikkaat ylläpitotyökalut tuottavat vielä suuren lisävaivan, ja pienen harrastelijafoorumin kohdalla kannattaa jopa miettiä, onko sellaisille välttämättä tarvetta.
Noita valmiita paketteja pystyy hoitelemaan kuka tahansa. Ongelmien ilmetessä, voisi ihan tavallisella tyypillä tulla ongelmia, noiden tunnissa riipastujen foorumien kanssa, mutta valtavissa paketeissa on samanlaisia "skannaa ongelma"-ohjelmia, kuin winissä.
Olen jo saanut tehtyä vieraskirjan pohjalta "keskustelun", jossa viestit tallennetaan tekstitiedostoon. Minusta se ei ole kovin käytännöllinen, varsinkaan kun en saa noita tietokantoja toimimaan. Siis tuon phpMyAdminin takia. Siinä siis jokainen alue ja aihe pitää luoda manuaalisesti, uusi php- ja txt-tiedosto joka kerta. Ei oikein toimi. Tuo mySql voisi kyllä olla hyvä, jos vain saisi tuon pMA:n toimimaan... Onko kenelläkään vinkkejä siihen?
Aloita siitä että kerrot mistä asensit mysql:n? Kuten sanottu niin Apachessa ei ole mysql:ää sisäänrakennettuna eikä mukana, eli olet asentanut jotakin muutakin. Olisko joku xampp paketti?
ZuBer kirjoitti:
Kun käytän phpMyAdminia, valittaa se, että joku asetus on väärin...?
Antoiko phpMyAdmin juuri tälläisen virheilmoituksen "joku asetus on väärin..." :)
Kannattaa laittaa ne virheet sanatarkasti, niin vian löytäminen on helpompaa.
Siis kukaan ei pakota käyttämään välttämättä tuota phpMyAdminiä, jos vika on siinä. Oetko asentanut sen itse, vai mistä se on tullut?
Kokeile vaikka ajaa seuraava koodi
$yhteys = mysql_connect("localhost", "root", "") or die("Yhdistäminen ei onnistunut!");
Xampp se oli. Latasin phpMyAdminin sen kotisivulta. Olen kyllä yrittänyt käyttää tehdä mysql:llää sillä suorita ->->... systeemillä, mutta nuo kaikki null-ja muut jutut eivät oikein toimi sillä, kun en osaa käyttää...
Siis kun kirjoitan selaimeen http:/localhost/phpMyAdmin/index.php ja syötän käyttäjätunnuksen "root" ja salasana tyhjäksi AllowNoPassword-asetusta pyytää muuttamaan.
Miksi latasit phpMyAdminin vielä erikseen, vaikka se sisältyy xampp pakettiin jo automaattisesti?
No anyway, kokeile muuttaa phpMyAdimin asetuksia. Eli avaa hakemistosta config.inc.php ja kokeile muuttaa AllowNoPassword asetusta.
Nonii, olipa taas viisasta.:D Niin näköjään jo valmiina on, ja kun käynnistän sen, se toimii saman tien.:) Kiitos kumminkin auttamaan vaivautuneille!
Osaisiko joku nyt neuvoa jotakin tutoriaalia tuommoisen perus keskustelun tekoon? En taida tyytyä tuohon viesraskirjaviritykseen... Mielellään suomenkielistä, tällä seiskaluokan englannin kielen oppimäärällä ei kovin pitkälle pötki. Yritin etsiä täältä ja mureakuhasta tuloksetta. Googleakin kokeilin("php keskustelu" ym.), mutta kaikki tulokset olivat sitä sun tätä keskustelua php:sta.
Mielestäni paras tapa on toteuttaa vieraskirja tai foorumi ihan siten, että opettelet ensin käyttämään PHP:tä noin niin kuin yleisesti ottaen ja sitten lähdet miettimään, että mitä ominaisuuksia tarvitset ja toteutat ne pienissä paloissa. Tuollaisissa tutoriaaleissa jossa koodin kirjoittaminen neuvotaan ns. step-by-step-tyyliin ei opi käyttämään omaa päättelykykyä...
edit.
Hyvä tapa suunnitella esim. foorumia on miettiä, että mistä loogisista kokonaisuuksista se muodostuu ja mallintaa rakennetta sitä kautta.
Foorumin rakenne menee yleensä näin: keskustelualue -> viestiketju -> viesti
Tuosta saa jo helposti muodostettua tietokantarakenteen ja oikeastaan myös varsinaisen ohjelmankin rakenteen.
Haulla "keskusteulupalsta php:llä" tuli ykköstuloksena tällainen:
http://www.mvnet.fi/index.php?osio=Kotisivun_teko&sivu=Keskustelupalsta_PHPll%E4
Täältä löytyvät SQL ja PHP oppaat riittävät täysin materiaaliksesi. Kannattaa varmaan aloittaa jostain helpommasta, jos xampp tuntuu ylivoimaiselta. Edelleen kannatan putkan materiaalia.
merlin kirjoitti:
Haulla "keskusteulupalsta php:llä" tuli ykköstuloksena tällainen:
http://www.mvnet.fi/index.php?osio=Kotisivun_teko&sivu=Keskustelupalsta_PHPll%E4
Tuon olen jo katsonut moneen kertaan, mutta jos aion itse koodata foorumin tai koodata sen ohjeesta, eivät nuo valmiit auta.
Jos teen tietokannan, teenkö ne niin että yksi taulu keskustelualueet, yksi ketjut ja yksi viestit, vai saako nuo kaikki tehtyä yhdellä taululla?
ZuBer kirjoitti:
Jos teen tietokannan, teenkö ne niin että yksi taulu keskustelualueet, yksi ketjut ja yksi viestit, vai saako nuo kaikki tehtyä yhdellä taululla?
Tietenkin joudut tekemään jokaista osaa varten oman taulun... Sitten voit id-numeroiden avulla "linkittää" ketjut keskustelualueeseen ja viestit ketjuihin.
Riittääkö, jos teen tällä tavalla:
Tietokanta keskustelu
Taulu alueet
id autotäyttö
nimi teksti
kuvaus teksti
Taulu aiheet
id autotäyttö
lahettaja_id numero
nimi teksti
viesti teksti
lukittu ?
Taulu viestit
id autotäyttö
lahettaja_id numero
aihe teksti
viesti teksti
Eli jääkö jotakin tauluja tai sarakkeita tai ominaisuuksia puuttumaan?
No ensinäkin voit poistaa tuon viesti-kentän aiheet-taulusta, koska kaikki viestit pitää tallentaa tietenkin viestit-tauluun. Tuo lukittu-kenttä kannattaa olla, jos haluat, että aiheen pystyy lukitsemaan (kannattaa olla tyyppiä boolean). Muuten tuo näyttää aika hyvältä... näin pikaisesti katsoen...
Edit.
Itse asiassa tuossa viestit-taulussa pitäisi olla aihe_id, jolla pystyt yhdistämään viestit aiheisiin. Ja en näe myöskään syytä sille, että tuossa aiheet-taulussa pitäisi olla lahettaja_id:tä.
Pitäisikö olla myös aikaleimat (luontiaika, muokkausaika)?
Lukitun lisäksi myös Julkaistu -kenttä, jolla voidaan poistaa koko viesti/aihe/alue oikeasti poistamatta riviä tietokannasta
Lebe80 kirjoitti:
Pitäisikö olla myös aikaleimat (luontiaika, muokkausaika)?
Lukitun lisäksi myös Julkaistu -kenttä, jolla voidaan poistaa koko viesti/aihe/alue oikeasti poistamatta riviä tietokannasta
Joo nuo aikaleimat ovat varmasti ihan hyvä laittaa mukaan...
Ja jos tuolla on lahettaja_id kenttä, niin tarvitaan varmaan yksi taulu sitten lähettäjillekin. id, nimi, admin/user, salasana, jne...jne...
Aiheeseen ei tarvita lähettäjää, koska aiheen lähettäjä selviää ensimmäisestä viestistä.
Aivan samanlaisen rakenteen voi tehdä tiedostoillakin. Se, että sinun systeemissäsi pitäisi kopioida jokaiselle keskustelulle uusi PHP-tiedosto, kertoo, että olet tehnyt jotain huonosti.
Metabolix kirjoitti:
Aiheeseen ei tarvita lähettäjää, koska aiheen lähettäjä selviää ensimmäisestä viestistä
Näin ajattelinkin... Tosin siinä vaiheessa kun luodaan uusi aihe joudutaan käyttämään transaktioita hyödyksi, jotta voidaan olla varmoja siitä, että aiheen luonnin yhteydessä luodaan myös se ensimmäinen viesti.
makumaku kirjoitti:
Ja jos tuolla on lahettaja_id kenttä, niin tarvitaan varmaan yksi taulu sitten lähettäjillekin. id, nimi, admin/user, salasana, jne...jne...
No onko niitä niin paljon?
ErroR++ kirjoitti:
makumaku kirjoitti:
Ja jos tuolla on lahettaja_id kenttä, niin tarvitaan varmaan yksi taulu sitten lähettäjillekin. id, nimi, admin/user, salasana, jne...jne...
No onko niitä niin paljon?
Häh? Mitä sä tolla tarkotat?
No siinä oli:
makumaku kirjoitti:
Ja jos tuolla on lahettaja_id kenttä, niin tarvitaan varmaan yksi taulu sitten lähettäjillekin. id, nimi, admin/user, salasana, jne...jne...
No ne id, nimi, admin/user, salasana :t
Ja päälle "ja niin edelleen... (jne...) ja niin edelleen... (jne...)".
Sitä.
Tuo kysymys on hieman outo tai nurinkurinen. Niin siis taulussa on määritelty (taulun luonnin yhteydessä) yhdet kentät jokaista määriteltävää arvoa varten, ja toisaalta tuohon tauluun taas voidaan lisätä n kappaletta rivejä, jotka sisältävät omat versionsa jokaisesta kentästä. Joten näin ollen voisin sanoa, että vastaus kysymykseesi on kyllä ja ei.
Kiitos vastanneille. Tähän mennessä olen saanut tehtyä:
-kirjautumissysteemi tietokannoilla(tutoriaalista)
-viestin lähetys ja näyttö
-aiheen luonti
ym. mukavaa. Aika helppoa se onkin! :) Kiitos auttajille!
Aihe on jo aika vanha, joten et voi enää vastata siihen.