.

Movie Category 1

Home » » membuat website 2

membuat website 2

Written By Unknown on Thursday, August 30, 2012 | 1:32 PM

Cara Mudah Membangun website bagian 2, Pada article lanjutan ini, kita mulai membahas tentang isi yang ada pada folder-folder ( Directory ) dan file dalam skema website kita,

dimulai dari isi config.php, pada file ini merupakan file terpenting dalam skem directory website, keterangan lebih jelasnya besok saja, nanti juga sobat bloger pada mengerti dengan sendirinya, isinya kira-kira seperti ini:
<?php
ini_set( "display_errors", true );
date_default_timezone_set( "Bangkok/Jakarta" ); 
define( "DB_DSN", "mysql:host=host;dbname=percobaan" );
define( "DB_USERNAME", "dbusername" );
define( "DB_PASSWORD", "dbpassword" );
define( "CLASS_PATH", "classes" );
define( "TEMPLATE_PATH", "templates" );
define( "HOMEPAGE_NUM_ARTICLES", 5 );
define( "ADMIN_USERNAME", "admin" );
define( "ADMIN_PASSWORD", "adminpasword" );
require( CLASS_PATH . "/Article.php" );
?>

karena ini merupakan CMS sederhana maka kami membuat username dan password sekalian ada di config ini, jadi tidak perlu lagi membuat table Mysql, silahkan di edit tulisan yang berwarna merah sesuai kebutuhan anda.(jangan lupa simpan dalam extensi php : config.php)

sedangkan untuk Index.php silahkan di tulis seperti ini:


<?php

require( "config.php" );
$action = isset( $_GET['action'] ) ? $_GET['action'] : "";

switch ( $action ) {
  case 'archive':
    archive();
    break;
  case 'viewArticle':
    viewArticle();
    break;
  default:
    homepage();
}

function archive() {
  $results = array();
  $data = Article::getList();
  $results['articles'] = $data['results'];
  $results['totalRows'] = $data['totalRows'];
  $results['pageTitle'] = "Website kita | artikel";
  require( TEMPLATE_PATH . "/archive.php" );
}

function viewArticle() {
  if ( !isset($_GET["articleId"]) || !$_GET["articleId"] ) {
    homepage();
    return;
  }

  $results = array();
  $results['article'] = Article::getById( (int)$_GET["articleId"] );
  $results['pageTitle'] = $results['article']->title . " | Artikel";
  require( TEMPLATE_PATH . "/viewArticle.php" );
}

function homepage() {
  $results = array();
  $data = Article::getList( HOMEPAGE_NUM_ARTICLES );
  $results['articles'] = $data['results'];
  $results['totalRows'] = $data['totalRows'];
  $results['pageTitle'] = "Artikel";
  require( TEMPLATE_PATH . "/homepage.php" );
}

?>


Silahkan di tulis atau di Copas dan jangan lupa save as sebagai: Index.php
Langsung saja pada bagian Admin.php, kira-kira di tulis seperti di bawah ini:



<?php

require( "config.php" );
session_start();
$action = isset( $_GET['action'] ) ? $_GET['action'] : "";
$username = isset( $_SESSION['username'] ) ? $_SESSION['username'] : "";

if ( $action != "login" && $action != "logout" && !$username ) {
  login();
  exit;
}

switch ( $action ) {
  case 'login':
    login();
    break;
  case 'logout':
    logout();
    break;
  case 'newArticle':
    newArticle();
    break;
  case 'editArticle':
    editArticle();
    break;
  case 'deleteArticle':
    deleteArticle();
    break;
  default:
    listArticles();
}


function login() {

  $results = array();
  $results['pageTitle'] = "Administrator Login | Website Kita";

  if ( isset( $_POST['login'] ) ) {

    // User akan mendapati log in form

    if ( $_POST['username'] == ADMIN_USERNAME && $_POST['password'] == ADMIN_PASSWORD ) {

      // Login sukses: sessi menuju admin homepage
      $_SESSION['username'] = ADMIN_USERNAME;
      header( "Location: admin.php" );

    } else {

      // Login gagal: display pesan error 
      $results['errorMessage'] = "Username atau Password Salah, coba lagi.";
      require( TEMPLATE_PATH . "/admin/loginForm.php" );
    }

  } else {

    // User belum ada post,tampilkan form
    require( TEMPLATE_PATH . "/admin/loginForm.php" );
  }

}


function logout() {
  unset( $_SESSION['username'] );
  header( "Location: admin.php" );
}


function newArticle() {

  $results = array();
  $results['pageTitle'] = "Buat Artikel";
  $results['formAction'] = "newArticle";

  if ( isset( $_POST['saveChanges'] ) ) {

    // User telah posting, edit dan simpan artikel
    $article = new Article;
    $article->storeFormValues( $_POST );
    $article->insert();
    header( "Location: admin.php?status=Tersimpan" );

  } elseif ( isset( $_POST['cancel'] ) ) {

    // User tidak melakukan editing: kembali ke artikel
    header( "Location: admin.php" );
  } else {

    // User belum posting atau edit, tampilkan form
    $results['article'] = new Article;
    require( TEMPLATE_PATH . "/admin/editArticle.php" );
  }

}


function editArticle() {

  $results = array();
  $results['pageTitle'] = "Edit Article";
  $results['formAction'] = "editArticle";

  if ( isset( $_POST['saveChanges'] ) ) {

    // User telah posting, edit dan simpan

    if ( !$article = Article::getById( (int)$_POST['articleId'] ) ) {
      header( "Location: admin.php?error=artikel tidak di temukan" );
      return;
    }

    $article->storeFormValues( $_POST );
    $article->update();
    header( "Location: admin.php?status=tersimpan" );

  } elseif ( isset( $_POST['cancel'] ) ) {

    // User tidak jadi editing, kembali ke artikel
    header( "Location: admin.php" );
  } else {

    
    $results['article'] = Article::getById( (int)$_GET['articleId'] );
    require( TEMPLATE_PATH . "/admin/editArticle.php" );
  }

}


function deleteArticle() {

  if ( !$article = Article::getById( (int)$_GET['articleId'] ) ) {
    header( "Location: admin.php?error=articleNotFound" );
    return;
  }

  $article->delete();
  header( "Location: admin.php?status=artikel dihapus" );
}


function listArticles() {
  $results = array();
  $data = Article::getList();
  $results['articles'] = $data['results'];
  $results['totalRows'] = $data['totalRows'];
  $results['pageTitle'] = "list Artikel";

  if ( isset( $_GET['error'] ) ) {
    if ( $_GET['error'] == "articleNotFound" ) $results['errorMessage'] = "Error: Artikel tidak ditemukan.";
  }

  if ( isset( $_GET['status'] ) ) {
    if ( $_GET['status'] == "changesSaved" ) $results['statusMessage'] = "Perubahan telah disimpan.";
    if ( $_GET['status'] == "articleDeleted" ) $results['statusMessage'] = "Artikel dihapus.";
  }

  require( TEMPLATE_PATH . "/admin/listArticles.php" );
}

?>


jangan lupa Simpan ini sebagai admin.php,
Untuk susunan directory nya lihat gambar di bawah ini:



Simpan semua file Config.php, Index.php, dan Admin.php di bawah directory website.com sejajar dengan folder Classes, Images dan Template,.

sebenarnya masih ada satu lagi yaitu file style.css yang harus di simpan bersama dengan file yang kita buat tadi, tetapi karena css itu berfungsi sebagai design html, maka untuk sementara di biarkan kosong dahulu dan kita siapkan file2 program yang lebih penting lainnya,.

untuk tahap ini, sebaiknya kita persiapkan file pada directory Template, Admin, Include, dan Classes.

untuk directory Template kita siapkan:
1. Archive.php
2. homepage.php
3.viewArticle.php

untuk directory Admin kita siapkan:
1. editArticle.php
2. listArticle.php
3. loginForm.php

untuk directory Classes kita siapkan:
1. Article.php

untuk directory include kita siapkan:
1. header.php
2. footer.php

yah susun semua pada tempatnya masing -masing sesuai gambar diatas, dan setelah selesai untuk sementara biarkan kosong semua file tersebut, kita minum kopi dulu dan nyantai, biar gak terlalu pusing ato capek karena posting akan saya lanjutkan besok ,,,  hehehe.

:)


0 comments:

Post a Comment

Template Information