webForumDet fria alternativet

själv-administrering

PHPur PHP

10 svar · 502 visningar · startad av jaxpax

jaxpaxMedlem sedan aug. 200598 inlägg
#1

Jag är ganska grön på det här med server side script. Tänkte ge mig i kast med PHP.
Jag skall skapa en site till en liten förening där varje medlem har sin egen "sida" där medlemmen
själv, genom forms, kan lägga in text, uppdatera text samt lägga in någon bild. Varje medlem får också en egen "subdomän" eller länk till "sin" sida.
Tanken är att sidan skall vara självadministrerande. Då föreningen ibland tappar samt får nya medlemar och ingen
i föreningen är kunnig inom hemsideproduktion behövs det finnas automatik i att lägga till/ta bort sidorna dvs text/bild ur databasen.

Mina frågor då:
Behöver man en unik html-sida till varje unik medlem (att fylla med text från db) eller behövs bara EN "mall"?
Om det behövs en unik för varje medlem - lägger man även den unika html-sidan i db, med ett unikt ID?
Om det behövs en unik för varje medlem - finns det i så fall någon funktion i, låt säga PHP som skapar en ny, tom html-sida varje
gång en ny medlem läggs in i db?

Hoppas ni förstår vad jag menar! (y)

jmeMedlem sedan maj 20012 237 inlägg
#2

Behöver man en unik html-sida till varje unik medlem (att fylla med text från db) eller behövs bara EN "mall"?

Det räcker med en mall som du sedan fyller med data från t ex databasen för en specifik användare.

En annan lösning är att du använder ett befintligt CMS-system. Då får du ofta funktionaliteten för att lägga till artiklar, bilder osv. Då gäller det för dig att lära dig att använda systemet för att sedan utbilda dina klienter och att skapa en egen "look" till sidan.

Kika på http://www.opensourcecms.com/. Där kan du välja och vraka bland open source CMS. Det finns både mindre och större system.

Ett som jag tycker verkar vara rätt så bra är Joomla. Det är ganska så stort system men har ett bra admin-system för att administrera sidorna.

Det finns både fördelar och nackdelar med ett eget CMS och färdiga CMS.

Gör du ditt eget så måste du prgrammera allt från gunden men då får du också ett skräddarsytt CMS, vilket tar sin tid. Använder du däremot ett färdigt system så sparar du mycket tid men förlorar lite på att du måste fördjupa dig i ett okänt system.

jaxpaxMedlem sedan aug. 200598 inlägg
#3

Joomla såg helt klart ut att vara något som skulle kunna passa, men för- och nackdelar ska väl vägas in, som du nämnde. Jag är knappast ett programmeringsorakel men lockas väl av att lära mig genom ett sådant här projekt, då tidspressen inte är stor. Jag besöker Hotscrips.com och har väl botanisera bland deras tutorials men har inte funnit någon som beskriver den problematik jag tog upp. Skulle vilja ha beskrivet en övergripande struktur för hur .php-script - .htm-sidor och db bör organiseras/verka tillsammans i ett projekt så som jag besrivit. Har du något tips? :p

jmeMedlem sedan maj 20012 237 inlägg
#4

Det är ganska mycket som du måste tänka på när du ska skapa ett cms-system.

Säkerheten är en sak. Hur ska du hindra personerna från att skriva html/javascript/annan kod?

Sedan måste du lägga upp ett fungerande db-schema.

Har du inte mycket erfarenhet av programmering och/eller php och du vill snabbt se resultat och klirr i kassan så rekommenderar jag dig verkligen att kika på dessa open source cms.

Men tänker du ändå skapa ett eget så måste du tänka igenom vissa saker.

Vill du skapa ett system som du senare lätt kan återanvända? Du kan då använda samma botten för x antal olika klienter och enbart skapa ny layout.

Vill du kunna lätt skapa ny funktionalitet? T ex i form av moduler som man kan koppla in.

Jag tycker du ska satsa på att skapa en bra grund som du kan använda i senare projekt. Detta vinner du på i längden.

Separera kod och html så mycket som du kan. Titta lite närmare på t ex MVC-metodologin (det finns färdiga MVC-ramverk för php).

MVC går ut på att man bl a separerar business-logiken från html. Dvs dina html-sidor innehåller endast html och i viss mån kod som dynamiskt bygger upp t ex tabeller listor osv.

Varje förfrågan går igenom en särskilld "controller" (t ex index.php) som tar emot förfrågan, kontrollerar att användaren har access till resursen och skickar iväg förfrågan till rätt instans (handler) som sedan behandlar förfrågan (gör databas-anrop osv). Sedan så kan du låta antingen controllern eller handlern returnera rätt "view", dvs den html-sida som skall visa resultatet.

Sedan tycker jag att du ska köra med OOP, dvs bygga upp så mycket av funktionalitet som möjligt i separata klasser. PHP4 har hyffsad stöd för OOP men PHP5 är ännu bättre på det.

GislavedMedlem sedan nov. 20041 740 inlägg
#5

Jag tycker absolut att du ska testa lite själv istället för att använda färdiga system. Det kan bli ganska lärorikt. Ta en titt på Kevin Yanks snabbkurs, exempelvis. http://www.sitepoint.com/article/php-mysql-tutorial

jmeMedlem sedan maj 20012 237 inlägg
#6

gislaved:

Jag gillar också att skapa sakerna själv men ibland så måste man kanske stanna och tänka efter. Vad vinner man mest på?

Just nu håller jag på att skapa ett eget, simpelt CMS och det är faktiskt kul, även om det ibland är jobbigt och svårt. Men när jag har fått det att fungera så kommer jag att ha lärt mig en massa nyttigt.

jaxpaxMedlem sedan aug. 200598 inlägg
#7

Jo, jag har efter att ha gått igenom tutorials samt läst ett mycket intressant kapitel i "PHP 5 - Bibel" - eller något sånt, som jag hittade efter mitt inlägg och som handlade om just det du tar upp, och mycket annat som man måste tänka på.
Problemet som du nämner:

Vill du skapa ett system som du senare lätt kan återanvända? Du kan då använda samma botten för x antal olika klienter och enbart skapa ny layout.

Det har jag ännu inte funnit några svar på. Och detta är ju ett centralt spörsmål inom ett projekt som jag nämnt. Har du några anvisningar som kan bidra till att man kan läsa in sig inom ämnet? :)

jaxpaxMedlem sedan aug. 200598 inlägg
#8

Tack för tipset och länken Gislaved - den verkar lovande.

Jo extra roligt och lärorikt är det ju att skapa själv (med skillade vänner i mitt forum ;) förstås) men man får nog räkna med en massa extra gråa hår på huvudet inna man är färdig :l

Tack för massor med bra tips jme!

(y)

jmeMedlem sedan maj 20012 237 inlägg
#9

Jag gick faktiskt igenom Joomlas kod och lärde mig en del av det.
Joomla byggs ju upp av ett antal moduler. Installera Joomla på din dator och kika i koden.

Sen kan du placera echo "detta görs här..:" meddelanden i koden så att du kan se när och hur omkringliggande kod körs.

jaxpaxMedlem sedan aug. 200598 inlägg
#10

Ska ladda ner det genast faktiskt - vill testa detta tillvägagångsätt

Sen kan du placera echo "detta görs här..:" meddelanden i koden så att du kan se när och hur omkringliggande kod körs.

Kan du förklara lite närmare :r

jmeMedlem sedan maj 20012 237 inlägg
#11

Alltså, du placerar debug-text i koden ifall du är lite osäker på när just den delen av koden körs.

Genom att placera echo() i koden så kan man visuellt följa exekveringen.

135 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)