Minggu, 13 September 2009

MEMBUAT CMS SENDIRI by Yulius Eka Agung Seputra

Sesuaikan dulu sama kebutuhan kita
Ini yang penting, karena struktur CMS nantinya bisa ikut menyesuaikan dengan kebutuhan ini

Pilih metode penyimpanan yang tepat
Ini juga sesuai kebutuhan, apakah cukup dengan penyimpanan di file atau perlu memakai database.
Tipe data pada database juga patut diperhitungkan, perlu berapa tabel? Bagaimana struktrunya? Perlu tipe TINYTEXT, TEXT, MEDIUMTEXT, atau bahkan LARGETEXT?

Contoh CMS sederhana bangetttt... (waktu belajar bikin CMS dulu..) :D :

buat database terlebih dahulu :
Code:
1  [?php
2  $namadatabase = 'Konten';
3  $buattabelkonten = 'CREATE TABLE `konten` ('
4           . ' `id` INT(4) NOT NULL AUTO_INCREMENT, '
5           . ' `judul` VARCHAR(50) NOT NULL, '
6           . ' `tanggal` VARCHAR(25) NOT NULL, '
7           . ' `nama` VARCHAR(50) NOT NULL, '
8           . ' `sekilas` TINYTEXT NOT NULL, '
9           . ' `isikonten` TEXT NOT NULL, '
10          . ' `aktif` ENUM(\'0\',\'1\') NOT NULL DEFAULT \'0\','
11          . ' PRIMARY KEY (`id`)'
12          . ' )'
13          . ' ENGINE = myisam;';
14 mysql_query("CREATE DATABASE $namadatabase") or die ('Error : ' . mysql_error());
15 mysql_connect(localhost,nama,password) or die ('Error : ' . mysql_error());
16 mysql_select_db($namadatabase) or die ('Error : ' . mysql_error());
17 mysql_query($buattabelkomen) or die ('Error : ' . mysql_error());
18 ?]
19 

Lalu halaman untuk membuat konten :
Code:
1  [?php
2  if(isset($_POST['simpan']))
3  {
4  $tanggal = 7 September 2007;
5  $aktif = "1";
6  $judul   = $_POST['judul'];
7  $sekilas = $_POST['sekilas'];
8  $isi = $_POST['isinya'];
9  if ($isi == "") {
10 include 'seting.php';
11 include 'konekdb.php';
12 mysql_query("INSERT INTO konten (judul, tanggal, stupidid, sekilas, aktif) VALUES ('$judul', '$tanggal', '$sekilas', '$aktif')") or die('Error : ' . mysql_error()); } else {
13 mysql_query("INSERT INTO konten (judul, tanggal, stupidid, sekilas, isikonten, aktif) VALUES ('$judul', '$tanggal', '$sekilas', '$isi', '$aktif')") or die('Error : ' . mysql_error()); }
14 mysql_close();
15 echo "[p>[span class='peringatan'>Konten '$judul' sudah dimasukkan[/span>[/p>";
16 } else {
17 ?]
18 [form action="" method="post"]
19 [p>
20 [label>Judul[/label>
21 [input name="judul" type="text" size="30" /]
22 [label>Sekilas[/label>
23 [textarea id="kontensekilas" rows="5" cols="5" name="sekilas"][/textarea>
24 [label>Isi Konten[/label>
25 [textarea id="konten" class="isi" rows="5" cols="5" name="isinya"][/textarea>
26 [br /]
27 [input id="button" class="button" type="submit" name="simpan" value="Simpan Konten" /]
28 [/p>
29 [/form>
30 [?php } } } ?]
31 

Dan yang ini buat ngedit dan menghapus konten :
Code:
1  [?php
2  if(isset($_GET['hapus'])) {
3  $judulhapus = $_GET['hapus'];
4  ?]
5  [p>[span class="peringatan">Yakin mau menghapus [?php echo $judulhapus; ?]?[/span>[br /]
6  [form method="post" action="" class="biasaja"][input type="submit" name="yahapus" value="Ya" /] [input type="submit" name="batal" value="Batal" /][/form>[/p>
7  [?php
8  if(isset($_POST['yahapus'])) {
9  include 'seting.php';
10 include 'konekdb.php';
11 mysql_query("DELETE FROM konten WHERE judul='$judulhapus'") or die ("Gagal menghapus data!");
12 mysql_close();
13 echo "[div class='peringatan'][p class='red']$judulhapus telah dihapus dari database, [a href='konten.php'>kembali kehalaman konten[/a>[/p>[/div>"; }
14 elseif(isset($_POST['batal'])) {
15 echo "[div class='peringatan'][p class='red']$judulhapus batal dihapus, [a href='konten.php'>kembali kehalaman konten[/a>[/p>[/div>"; } }
16 elseif(isset($_GET['edit'])) {
17 $juduledit = $_GET['edit'];
18 $ambildata=mysql_query("SELECT judul, sekilas, isikonten FROM konten WHERE judul = '$juduledit'") or die ('Gagal mengambil data!');
19 list($judul, $sekilas, $isikonten) = mysql_fetch_array($ambildata); ?]
20 [h1>Editing : [?php echo $juduledit; ?][/h1>
21 [form action="" method="post"]
22 [p>
23 [label>Judul[/label>
24 [input name="judul" type="text" size="30" value="[?php echo $judul; ?]" /]
25 [label>Sekilas[/label>
26 [textarea id="kontensekilas" rows="5" cols="5" name="sekilas"][?php echo $sekilas; ?][/textarea>
27 [label>Isi Konten[/label>
28 [textarea id="konten" class="isi" rows="5" cols="5" name="isinya"][?php echo $isikonten; ?][/textarea>
29 [br /]
30 [input id="button" class="button" type="submit" name="simpanedit" value="Simpan Perubahan Konten" /]
31 [/p>
32 [/form> [?php
33 if(isset($_POST['simpanedit'])) {
34 $judul=$_POST['judul'];
35 $judul=addcslashes(mysql_real_escape_string($judul),'%');
36 $sekilas=$_POST['sekilas'];
37 $sekilas=addcslashes(mysql_real_escape_string($sekilas),'%');
38 $isikonten=$_POST['isinya'];
39 $isikonten=addcslashes(mysql_real_escape_string($isikonten),'%');
40 mysql_query("UPDATE konten SET judul='$judul', sekilas='$sekilas', isikonten='$isikonten' WHERE judul='$juduledit'") or die ("Gagal mengupdate konten!");
41 echo "[div class='peringatan'][p>Konten $judul telah disimpan[/p>[/div>"; }
42 } } } ?]
43 

Lalu jangan lupa untuk menampilkan kontennya :
Code:
1  [?php
2  if(!isset($_GET['judulnya']))
3  {
4     $self = $_SERVER['PHP_SELF'];
5     include 'seting.php';
6     include 'konekdb.php';
7     $ambilkonten = mysql_query("SELECT id, tanggal, judul, sekilas FROM konten ORDER BY tanggal") or die('Error : ' . mysql_error());
8  
9     while($row = mysql_fetch_assoc($ambilkonten))
10    {
11    $tanggal = $row['tanggal'];
12    $judul = $row['judul'];
13    $sekilas = $row['sekilas'];
14       echo "[h1>$judul[/h1> [p class='gedean']$sekilas[/p> [p class='bawahan align-right clear'] [$tanggal] | [a href='$self?judulnya=$judul'>Baca selengkapnya[/a> | [a href='proses.php?hapus=$judul'>Hapus artikel[/a> | [a href='proses.php?edit=$judul'>Edit artikel[/a>[/p>";
15 
16    }
17 mysql_close();
18 } else {
19    $judulnya = $_GET['judulnya'];
20    include 'seting.php';
21    include 'konekdb.php';
22    $result = mysql_query("SELECT tanggal, judul, isikonten FROM konten WHERE judul='$judulnya'") or die('Error : ' . mysql_error());
23    $row = mysql_fetch_array($result, MYSQL_ASSOC);
24 
25    $tanggal = $row['tanggal'];
26    $judul = $row['judul'];
27    $isikonten = $row['isikonten'];
28 
29 echo " [h1>$judul[/h1> [p>$tanggal[/p>[p class='gedean']$isikonten[/p> [p class='bawahan align-right clear'] Dibuat : $tanggal | [a href='konten.php'>Kembali kehalaman konten[/a| [a href='proses.php?hapus=$judul'>Hapus artikel[/a> | [a href='proses.php?edit=$judul'>Edit artikel[/a>[/p>";
30 mysql_close();
31 }
32 ?]
33 

Adapun file yang daritadi di-include :
seting.php
Code:
1 [?php

3 $host="localhost";
4 $userdb="namauser";
5 $passdb="password";
6 $namadb="namadatabase";

8 ?]


konekdb.php
Code:
1 [?php

3 include 'seting.php';
4 mysql_connect($host,$userdb,$passdb) or die ('Error : ' . mysql_error());
5 mysql_select_db($namadb) or die ('Error : ' . mysql_error());

7 ?]