Avatar billede chris0905 Nybegynder
13. juli 2011 - 14:26 Der er 16 kommentarer og
1 løsning

Gemme layout online MySQL

Hej Eksperter!

Jeg er ved at lave et lille CMS, men er stødt ind i et problem som jeg ikke lige kan klarer selv...

Jeg vil gerne have at man online, inde i administrations panelet, kan ændre forsidens opbygning, du kan sige, ændre PHP koden bag... er der nogen mulighed for at gemme såden en i en MySQL og så trække den ned? Har fået gjordt det med CSS'en:

---style.php---
<?php
header('Content-type: text/css');
include('connect.php');
$query = mysql_query("SELECT * FROM style WHERE id = '1'");
$cssString = mysql_fetch_assoc($query);
print $cssString['style'];
?>


Håber at I kan forstå mig, og at der også er nogen der kan hjælpe.

Mvh

Christoffer
Avatar billede kjeldsted Novice
13. juli 2011 - 14:37 #1
Ovenstående kan du jo sagtens benytter hvis det blot er css'en du vil kunne ændre.
Avatar billede chris0905 Nybegynder
13. juli 2011 - 14:50 #2
jeg vil gerne kunne ændre "selv index.php"... altså hvordan siden er bygget op... jeg har fået css'en til at virke...
Avatar billede wanze Nybegynder
13. juli 2011 - 15:03 #3
Hvis din HTML-kode er fornuftigt opbygget, så kan du ændre layoutet 100% vha. CSS.
Avatar billede chris0905 Nybegynder
13. juli 2011 - 15:20 #4
Det r også for at kunne redigere ex text der står i en boks på siden eller slogan eller lign...
Avatar billede chris0905 Nybegynder
13. juli 2011 - 15:34 #5
og wanze; kan du give et exampel på en fornuftig opbygning? - jeg vil dog ikke ud i position:absolut... det har jeg leget nok med... og er ikke glad for det...
Avatar billede kjeldsted Novice
13. juli 2011 - 15:37 #6
Du skal ikke lade en bruger kunne ændre indhold i en .php fil.

Hvad ville du fx. sige til at få udført følgende php
mysql_query("DROP DATABASE $mysql_db")


???

Og hvis det er fordi du også vil redigere indholdet skal du lave det som et CMS. Det andet vil ikke være en god ide.
Avatar billede wanze Nybegynder
13. juli 2011 - 15:46 #7
Brows lidt rundt på css Zen Garden. Det er den samme side repræsenteret på over 300 vidt forskellige måder vha. CSS.

Alternativt kan du lave et templatesystem, hvor brugerne selv har mulighed for at skrive HTML'en, og det dynamiske indhold kan så blive erstattet vha. nogle tags du laver som fx {title} eller {content}. Disse kan du så erstatte med dit rigtige indhold ved en simple

str_replace("{title}", $title, $template)
Avatar billede chris0905 Nybegynder
13. juli 2011 - 15:46 #8
Nej du har ret... jeg havde ikke lyst til at få den kode ind i mit system, men jeg havde så tænkt mig at gemme det inde i mit CMS bag et loginsystem...

Men hvordan mener du med at få det lavet som CMS? har du et exempel på noget?
Avatar billede chris0905 Nybegynder
13. juli 2011 - 15:56 #9
jeg kan godt lide idéen om et templatesystem... det vil jeg kigge lidt på... har du nogle guides el. lign?
Avatar billede wanze Nybegynder
13. juli 2011 - 16:02 #10
Der er ikke meget mere i det end det jeg har skrevet. Giv brugeren muligheden for selv at skrive al HTML og fx gemme den i din database. Derudover har du vel noget dynamisk indhold, som du substituerer med nogle specifikke tags, så som {title}, {content}, evt. {menu}, etc.

Men en Google søgning på PHP template tutorial giver en del resultater.
Avatar billede kjeldsted Novice
13. juli 2011 - 16:02 #11
Altså du får mig ikke til at poste kildekoden til et CMS system. Det er jo en temmelig voldsom omgang.

Og det kommer jo også an på hvor omfattende det skal være. Men du kan jo lave noget i stil med, at du har siderne liggende i template format hvor du så kan ændre CSS'en. Den skal jo så indeholde en menu, en under menu, hoved tekst, overskrift og hvad der ellers følger med.

Hvis der er brug for specielle funktioner såsom at indsætte en kontaktformel kan du jo lave en funktion med lidt reg.ex. hvor du fx. ved at skrive i CMS'en [showMailForm="modtager@domæne.dk"] hvor den så indsætter en mail form med modtager@domæne.dk som modtager. Men hvis vi er oppe i dette skal du enten have godt styr på hvad du laver, eller også skal det bygges op over Wordpress el. lign.
Avatar billede Slettet bruger
13. juli 2011 - 17:13 #12
Der er vel ikke noget i vejen for at man fra én .php fil ændrer på indholdet i en anden ?
- det ER jo bare tekst-filer..

Det er nok mindre smart at lægge resultatet ind i databasen, da brugerne/browsere så ikke kan tilgå det direkte..

Hvis det bare er for at ændre på indholdet (ikke "koden"), kan du jo hente HTML-klumper ud af databasen (SELECT overskrift, body1, body2, højrekolonne, footer FROM pages WHERE id='side5') og "echo" det ud vha. php (/visSide.php?id=side5&css=normal2)
- det er vel egentlig, på kortform, sådan et CMS fungerer : )
Avatar billede chris0905 Nybegynder
13. juli 2011 - 17:22 #13
TOM: har du en måde at ændre filen fra en anden .php-fil???
Avatar billede Slettet bruger
13. juli 2011 - 22:48 #14
det er jo bare en tekst-fil.. åbn ændr - no problem (or big problems..)
Avatar billede Slettet bruger
13. juli 2011 - 22:51 #15
really big faktisk.. (ikke ikke-amatør-egnet)
Avatar billede chris0905 Nybegynder
07. oktober 2011 - 21:26 #16
hvordan åbner man "ændr"???
Avatar billede chris0905 Nybegynder
26. oktober 2011 - 22:20 #17
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
30 min siden Tomt felt i Start Af ErikHg i Windows
I går 23:00 Hyperlink til tekst Af Nanarsi i Excel
18/0121:03 Forlænge ringetid Af 1Dorte i Apps til Android
17/0117:38 Video ikoner Af Malm i Windows
17/0117:27 Video ikoner Af logbuilders i Windows