Top
Phpuniverset logo
 

INDHOLD

Forside

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


Propelcom

ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

lav et lille cms system.

Forside Kategori PHP/MySQL lav et lille cms system.




 

Tutorials - Lille CMS


Vil du gerne lave et lille WCMS (Web Content Management System), eller CMS (Content Management System) som det bliver udtalt i daglig tale?

Jeg vil prøve at se om jeg kan lave en lille tutorial, som beskriver hvad et (W)CMS er, hvordan man kan lave et simpelt et, og hvordan man kan bygge videre på det.

Hvad er et (W)CMS?
Et (W)CMS er et system som gør det muligt for dig, og andre som skal kunne ændre din sides indhold, at ændre indholdet i en lille teksteditor.
På den måde kan du meget hurtigere - og nemmere - opdatere din sides indhold, uden brug af noget som helst software, som er installeret på maskinen. Det vil sige at du kan ændre din side hvor som helst, når som helst.

I de store CMS systemer, som biver solgt for imellem 5.000 - 100.000 kr., er der selvfølgelig lidt (mange) ekstra funktioner, som f.eks flere brugere (så der er flere der kan ændre sidens indhold), menu system (så du også kan ændre din menu online), modul system (så du f.eks kan have en kontakt-form, bruger-system, taqwall osv. i CMS´et) og mange flere ting.

Så hvis du kommer fra et firma, eller ønsker at lave en privat portal side, kan det klart anbefales at købe et CMS, og der findes flere på markedet. Jeg vil selvfølgelig anbefale WykeCMS, da jeg selv står bag det

Jaja, drop det tekniske, og kom til det sjove!

Okay, vi går videre til det sjove

Vi starter med at lave en tabel i vores MySQL database:
CREATE TABLE `cms` (
`id` INT NOT NULL AUTO_INCREMENT ,
`overskrift` VARCHAR( 255 ) NOT NULL ,
`tekst` LONGTEXT NOT NULL ,
PRIMARY KEY ( `id` )
);




Jeg vil ikke gå det yderligere igennem, da er ikke er så meget at forklare...

Videre til index-filen, som er den side, som dine besøgende vil komme til at se.

Opret filen index.php og skriv følgende, så vil jeg gennemgå det lidt længere nede:

if($_GET['id'] == ""){
header("Location: ?side=1");
}
include("funktioner.php");

'.titel().'print '';
print ''.side().'';





Som du kan se, er det en lille simpel HTML-side, som i toppen af filen tjekker med en simpel if-sætning, om der i adresse-baren står hvilken side, som vi skal hente og vise. Så includer (henter) vi en fil som hedder "funktioner.php".
Lidt længere nede kører den en PHP-funktion som hedder titel, og lidt længere nede igen, en funktion som hedder side. Disse funktioner kommer vi tilbage til, når vi nu går videre med filen funktioner.php

Så skynd dig at få oprettet funktioner.php og skriv følgende:
include("connect.php");
function titel(){
$titel_db = mysql_query("select * from cms where id = '$_GET[id]'");
$titel = mysql_fetch_array($titel_db);
print $titel;
}
function side(){
$side_db = mysql_query("select * from cms where id = '$_GET[id]'");
$sidel = mysql_fetch_array($titel_db);
print nl2br($side);
}
?>



Ja, større var den fil faktisk ikke, og nu har vi allerede lavet den del, som viser brugeren din side.
Vi starter igen med at include (hente) en fil, men denne gang filen "connect.php", som connecter til vores database.
Derefter laver vi funktionen som vi hentede i index-filen, nemlig titel (jaja, vi skal også nok komme til funktionen side ). I funktionen titel henter vi vores side fra tabellen cms, og udskriver den på siden. I funktionen side gør vi næsten det samme. Men her bruger vi også funktionen nl2br som en simpel funktion, der er fast defineret i PHP, og udskriver linjeskiftene istedet for php-linjeskiftene nl, som ikke kan læses af HTML (lidt indviklet, men såen er´d).

Så er vi sådan set færdige med funktionerne som henter siden ned til browseren, og mangler kun administrationen.

admin.sider.php :


include("connect.php");
if($_POST['submit']){
mysql_query("update cms set overskrift = '$_POST[overskrift]', tekst = '$_POST[tekst]'");
print 'Opdateret!';
}
$sider = mysql_query("select * from cms");
while($sider = mysql_fetch_array($sider)){
print '<a href=?update='.$sider['id'].'>'.$sider['overskrift'].'</a>';
}
if(isset($_GET['update'])){
$side = mysql_query("select * from cms where id = '$_GET[update]'");
$side = mysql_fetch_array($side)
print '<form name="form1" method="post" action="">
<input name="overskrift" type="text" id="overskrift" value="'.$side['overskrift'].'">
<br>
<textarea name="tekst" id="tekst">'.$side['overskrift'].'</textarea>
<br>
<input name="submit" type="submit" id="submit" value="Opdater">
</form>';
}

En simpel while løkke, som udskriver alle sider, og et link ved hver side til at opdatere. Kodeordsbeskyttelse må i selv hitte sammen

Filerne skulle nu meget gerne se sådan ud:
index.php
funktioner.php
admin.sider.php
Og det var så et simpelt cms system - håber i kan bruge det til noget.. Og sorry det tog lidt lang tid med sidste halvdel .

Tilføj kommentar



Skrevet af: Nicolaj Wyke | Dato : 2006-10-20 21:2 | Læst : 18900 gange | Print

Din kommentar og karakter til artiklen

Din karakter:

1

2

3

4

5

6

7

8

9

10

Kommentar:

Log ind for at give en karakter og kommentar.

Kommentarer og karakterer til artiklen

 


6/10

"
  1. Prøver lige igen:)
    Rigtig god toturial for viderekommere, men der skal arbejdes lidt med det hvis man er begynder. Jeg har haft lidt problemer med at få det til at virke og har derfor ændret lidt i det. Nu skulle det virke.

    admin.sider.php
    <?php include("connect.php");
    if(!empty($_POST) and ($_POST['submit'])){
    mysql_query("update cms set overskrift = '$_POST[overskrift]', tekst = '$_POST[tekst]' WHERE id='$_GET[update]'");
    print ('Opdateret!<br>');}
    $sider = mysql_query("select * from cms");
    while($side = mysql_fetch_array($sider)){
    print '<a href=?update='.$side['id'].'>'.$side['overskrift'].'</a><br>'; }
    if(isset($_GET['update'])){
    $side = mysql_query("select * from cms where id = '$_GET[update]'");
    $side = mysql_fetch_array($side);
    print ('<form name="form1" method="post" action="">');
    print ('<input name="overskrift" type="text" id="overskrift" value="'.$side['overskrift'].'"><br>');
    print ('<textarea name="tekst" id="tekst">'.$side['tekst'].'</textarea><br>');
    ?>
    <input name="submit" type="submit" id="submit" value="Opdater"> </form>
    <?php } ?>

    connect.php
    <?php mysql_connect("localhost", "root", "root");
    mysql_select_db("cmstest"); ?>

    funktioner.php
    <?php include("connect.php");
    function titel(){
    $titel_db = mysql_query("select * from cms where id = ".$_GET["side"]);
    while ($row = mysql_fetch_array($titel_db)) {
    print ("<b>".nl2br($row["overskrift"])."</b><br>"); }
    }
    function side(){
    $side_db = mysql_query("select * from cms where id = ".$_GET["side"]);
    while ($row = mysql_fetch_array($side_db)) {
    print (nl2br($row["tekst"]));
    }
    } ?>

    index.php
    <?php if((empty($_GET['side'])) or ($_GET['side'] == "")){
    header('Location: ?side=1'); }
    include("funktioner.php");
    ?>
    <html>
    <body>
    <?php titel();
    side();
    ?>
    </body>
    </html>
"

Lars Hansen | 10.12.2007, 23:29

 


6/10

""

Lars Hansen | 10.12.2007, 23:01

 


6/10

"Rigtig god toturial for viderekommere, men der skal arbejdes lidt med det hvis man er begynder. Jeg har haft lidt problemer med at få det til at virke og har derfor ændret lidt i det. Nu skulle det virke. admin.sider.php '); } $sider = mysql_query("select * from cms"); while($side = mysql_fetch_array($sider)){ print ''.$side['overskrift'].'
'; } if(isset($_GET['update'])){ $side = mysql_query("select * from cms where id = '$_GET[update]'"); $side = mysql_fetch_array($side); print ('

'); print ('
'); print ('
'); ?>
connect.php funktioner.php ".nl2br($row["overskrift"])."
"); } } function side(){ $side_db = mysql_query("select * from cms where id = ".$_GET["side"]); while ($row = mysql_fetch_array($side_db)) { print (nl2br($row["tekst"])); } } ?> index.php "

Lars Hansen | 10.12.2007, 22:56

 


2/10

"Skal du have hjælp Tim Hof, eller er det løst?."

Thomas Petersen | 06.09.2007, 15:37

 


7/10

"Det ser jo super ud, lige noget jeg kunne bruge og bygge lidt videre på. Men suk, jeg er åbenbart for meget begynder, for jeg ka ikke få det til at virke. Æv. Jeg tror jeg har fundet nogle fejl i koden, men ligemeget hvad jeg prøver, så vil det ikke virke, er der andre der har fået det til at virke ? Mvh Tim"

Tim Hoffmann | 30.10.2006, 22:04

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

FORUM

Nyeste forum indlæg :

PHP/Opencart import module

Opencart/php import modul hjælp

Lækkert kontor / kontorfællesskab i Helsingør

Opdatering af PHP

Vurdering af hjemmeside

Nyeste forum svar :

Joomla som CMS

Android programmering

Grafik problemer

Prissammenligningsside

Jeg yder fremover ikke support!

 

MEDLEM

LOGIN ER IKKE MULIGT, MENS VI LAVER NYT SITE
 

NYHEDSBREV

Nyhedsbrev

Tilmeld dig vores nyhedsbrev og modtag nyheder om nye scripts og tips samt om mange andre nye tiltag på Phpuniverset.dk


 

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk - android talk & help

Bund