- Daftar
- 4 Oct 1988
- Post
- ★
- Like diterima
- 9.159
[hide][/hide][hide][/hide][hide]
SEBELUMNYA [PART1]
BUAT FOLDER PUBLIC YANG STRUKTUR DIDALAMNYA
PART1
CSS = UPLOAD.CSS
INCLUDE=ACOUNT,CONTACT,FAQ,FOOTER,HEADER,LOGIN,MAIN,MESSAGE,TC,REG,VIEW [CODE MAIN.PHP VIA PM]
SIAPKAN FOLDER JS DAN THUMB
JS : UPLOAD.JS + JQUERY.MIN.JS
THUMB : .HTACCESS,ACOUNT.PHP,BANNED.PHP,COMMON.PHP,CONTACT.PHP,DB.PHP,HAPUS.PHP,FAQ.PHP,INDEX.PHP,LOGIN.PHP,LOGOUT.PHP,REGISTER.PHP,LAPOR.PHP,TC.PHP,UPLOAD.PHP,VIEW.PHP
folder JS
UPLOAD.CSS
jquery.min.js
folder THUMB
.htaccess
account.php
banned.php
common.php
config.php
contact.php
db.php
hapus.php
faq.php + index.php sama [cuma di index ganti faq dengan main.php]
login.php
logout.php
register.php
tc.php
upload.php
view.php
/* upload.sql
struktur folder file lihat pada gambar dibawah ini
public folder
include folder
[/hide]
DEMO LINK :
*link diatas tidak permanen/sementara ,jika nubi rasa cukup [server down]
*tidak untuk konten adult/sara .etc 18+ / melanggar hukum
*hanya untuk view tutorial
PART 2
*link diatas tidak permanen/sementara ,jika nubi rasa cukup [server down]
*tidak untuk konten adult/sara .etc 18+ / melanggar hukum
*hanya untuk view tutorial
PART 2
SEBELUMNYA [PART1]
BUAT FOLDER PUBLIC YANG STRUKTUR DIDALAMNYA
PART1
CSS = UPLOAD.CSS
INCLUDE=ACOUNT,CONTACT,FAQ,FOOTER,HEADER,LOGIN,MAIN,MESSAGE,TC,REG,VIEW [CODE MAIN.PHP VIA PM]
SIAPKAN FOLDER JS DAN THUMB
JS : UPLOAD.JS + JQUERY.MIN.JS
THUMB : .HTACCESS,ACOUNT.PHP,BANNED.PHP,COMMON.PHP,CONTACT.PHP,DB.PHP,HAPUS.PHP,FAQ.PHP,INDEX.PHP,LOGIN.PHP,LOGOUT.PHP,REGISTER.PHP,LAPOR.PHP,TC.PHP,UPLOAD.PHP,VIEW.PHP
folder JS
UPLOAD.CSS
Code:
$('#image-input').on('change', function()
{
var selectImage = $('#select-image');
var cancelImage = $('#cancel-image');
selectImage.text('click again to upload ' + $(this).val().replace('C:\\fakepath\\', '')).css({
'margin-bottom' : '10px',
'display' : 'block'
});
cancelImage.removeClass('hidden');
selectImage.off();
selectImage.on('click', function() {
selectImage.off();
cancelImage.addClass('hidden');
$('#upload-form').submit();
selectImage.text('Your image is uploading, please wait');
}
);
});
$('#select-image, #cancel-image').on('click', function()
{
$('#image-input').click();
});
$('.delete').on('click', function() {
return confirm('Are you sure? This image WILL BE DELETED');
});
$('#ban').on('click', function() {
return confirm('Are you sure? This user will be BANNED and ALL OF THEIR IMAGES WILL BE DELETED');
});
$('#links li input').on('click', function()
{
$(this).select();
});
jquery.min.js
Code:
via PM atau cari jquery yang /*! jQuery v1.10.2
folder THUMB
.htaccess
Code:
via PM
account.php
Code:
<?php
require('config.php');
require('common.php');
if (!isset($_SESSION['user']))
{
exit_message('You are no authorised to access this page. Please log in.');
}
$user = $_SESSION['user'];
require('db.php');
$images = mysqli_prepare($db, 'SELECT `id`, `ext`, `time` FROM `images` WHERE `user` = ? AND `removed` = "0" ORDER BY `time` ASC');
mysqli_stmt_bind_param($images, 'i', $user);
mysqli_stmt_execute($images);
++$db_queries;
mysqli_stmt_store_result($images);
if (mysqli_stmt_num_rows($images) === 0)
{
exit_message('You haven\'t uploaded any images yet!');
}
mysqli_stmt_bind_result($images, $id, $ext, $time);
require('inc/header.php');
require('inc/account.php');
require('inc/footer.php');
banned.php
Code:
<?php
require('config.php');
require('common.php');
// make sure user is logged in (for non-admins, we will verify their ID later)
if (!isset($_SESSION['admin']))
{
exit_message('You are not authorised to perform this action. Please log in.');
}
// make sure ID is valid
if (!ctype_digit($_GET['id']))
{
exit_message('Oops, that ID appears to be invalid. User IDs should be numberic');
}
$id = $_GET['id'];
require('db.php');
$exists = mysqli_prepare($db, 'SELECT EXISTS(SELECT 1 FROM `users` WHERE `id` = ?)');
// query DB to see if ID exists
mysqli_stmt_bind_param($exists, 'i', $id);
mysqli_stmt_execute($exists);
++$db_queries;
mysqli_stmt_bind_result($exists, $result);
mysqli_stmt_fetch($exists);
mysqli_stmt_close($exists);
if ($result === 0)
{
exit_message('No accounts exist with that user ID');
}
// ban user in DB
$ban = mysqli_prepare($db, 'UPDATE `users` SET `banned` = "1" WHERE `id` = ?');
mysqli_stmt_bind_param($ban, 'i', $id);
mysqli_stmt_execute($ban);
++$db_queries;
mysqli_stmt_close($ban);
// get list of images uploaded by that user (so we can delete the files)
$images = mysqli_prepare($db, 'SELECT `id`, `ext` FROM `images` WHERE `user` = ?');
mysqli_stmt_bind_param($images, 'i', $id);
mysqli_stmt_execute($images);
++$db_queries;
mysqli_stmt_bind_result($images, $image_id, $ext);
while (mysqli_stmt_fetch($images))
{
unlink('images/' . $image_id . '.' . $ext);
if (file_exists('thumbs/' . $image_id . '.jpg'))
{
unlink('thumbs/' . $image_id . '.jpg');
}
}
mysqli_stmt_close($images);
// delete images in the DB
$delete = mysqli_prepare($db, 'UPDATE `images` SET `removed` = "1" WHERE `user` = ?');
mysqli_stmt_bind_param($delete, 'i', $id);
mysqli_stmt_execute($delete);
++$db_queries;
mysqli_stmt_close($delete);
mysqli_close($db);
exit_message('User has been banned and all data has been removed');
common.php
Code:
<?php
session_start();
$start = microtime();
$db_queries = 0;
define('MAIN_SITE_URL', trim(SITE_URL, '/') . '/');
define('MAIN_SCRIPT_PATH', (SCRIPT_PATH ? trim(SCRIPT_PATH, '/') . '/' : ''));
define('VIEW_PATH', (FRIENDLY_URLS ? '' : 'view.php?id='));
define('VIEW_URL', 'http://' . MAIN_SITE_URL . MAIN_SCRIPT_PATH . VIEW_PATH);
define('IMAGES_URL', 'http://' . (FRIENDLY_URLS ? 'i.' : '') . MAIN_SITE_URL . (FRIENDLY_URLS ? '' : MAIN_SCRIPT_PATH . 'images/'));
define('IN_SCRIPT', true);
function exit_message($message)
{
require('inc/header.php');
require('inc/message.php');
require('inc/footer.php');
exit;
}
config.php
Code:
via PM
contact.php
Code:
<?php
require('config.php');
require('common.php');
require('inc/header.php');
require('inc/contact.php');
require('inc/footer.php');
db.php
Code:
<?php
$db = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME, DB_PORT);
hapus.php
Code:
<?php
require('config.php');
require('common.php');
// jika id bukan admin
if (!isset($_SESSION['user']))
{
exit_message('You are not authorised to perform this action. Please log in.');
}
// jika id benar
if (!ctype_alnum($_GET['id']) || (strlen($_GET['id']) !== 5))
{
exit_message('Oops, that ID appears to be invalid. IDs should have 5 characters and contain letters and numbers only.');
}
$id = $_GET['id'];
require('db.php');
$exists = mysqli_prepare($db, 'SELECT `ext`, `user` FROM `images` WHERE `id` = ?');
// query DB jika ID exists
mysqli_stmt_bind_param($exists, 's', $id);
mysqli_stmt_execute($exists);
++$db_queries;
mysqli_stmt_store_result($exists);
if (mysqli_stmt_num_rows($exists) === 0)
{
exit_message('Hmm, no image exists with that ID. Maybe it was deleted or you typed in the URL incorrectly?');
}
mysqli_stmt_bind_result($exists, $ext, $user);
mysqli_stmt_fetch($exists);
mysqli_stmt_close($exists);
if (!isset($_SESSION['admin']) && ($_SESSION['user'] !== $user))
{
exit('You are not authorised to perform this action.');
}
unlink('images/' . $id . '.' . $ext);
$thumb = 'thumbs/' . $id . '.jpg';
if (file_exists($thumb))
{
unlink($thumb);
}
$delete = mysqli_prepare($db, 'UPDATE `images` SET `removed` = "1" WHERE `id` = ?');
mysqli_stmt_bind_param($delete, 's', $id);
mysqli_stmt_execute($delete);
++$db_queries;
mysqli_stmt_close($delete);
// cek image jika ada report
// action/eksekusi
$reported = mysqli_prepare($db, 'SELECT EXISTS(SELECT 1 FROM `reports` WHERE `id` = ?)');
// query DB jika ID exists
mysqli_stmt_bind_param($reported, 's', $id);
mysqli_stmt_execute($reported);
++$db_queries;
mysqli_stmt_bind_result($reported, $result);
mysqli_stmt_fetch($reported);
mysqli_stmt_close($reported);
// update laporan
if ($result === 1)
{
$actioned = mysqli_prepare($db, 'UPDATE `reports` SET `actioned` = "1" WHERE `id` = ?');
mysqli_stmt_bind_param($actioned, 's', $id);
mysqli_stmt_execute($actioned);
++$db_queries;
mysqli_stmt_close($actioned);
}
mysqli_close($db);
exit_message('The image ' . $_GET['id'] . ' has been removed');
faq.php + index.php sama [cuma di index ganti faq dengan main.php]
Code:
<?php
require('config.php');
require('common.php');
require('inc/header.php');
require('inc/faq.php');
require('inc/footer.php');
login.php
Code:
<?php
require('config.php');
require('common.php');
if (!isset($_POST['submit']))
{
require('inc/header.php');
require('inc/login.php');
require('inc/footer.php');
exit;
}
if (empty($_POST['email']) || empty($_POST['password']))
{
exit_message('Please make sure you enter both an email address and password');
}
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
exit_message('Please enter a valid email address');
}
// valid email and a password
$email = $_POST['email'];
$password = $_POST['password'];
require('db.php');
$user = mysqli_prepare($db, 'SELECT `id`, `admin`, `banned` FROM `users` WHERE `email` = ? AND `password` = SHA2(CONCAT(`salt`, ?), 256)');
mysqli_stmt_bind_param($user, 'ss', $email, $password);
mysqli_stmt_execute($user);
++$db_queries;
mysqli_stmt_store_result($user);
if (mysqli_stmt_num_rows($user) ===0)
{
exit_message('Sorry, no account exists with this email and password');
}
mysqli_stmt_bind_result($user, $id, $admin, $banned);
mysqli_stmt_fetch($user);
mysqli_stmt_close($user);
mysqli_close($db);
if ($banned === '1')
{
// user is banned ($banned will return 1);
exit_message('This account has been banned');
}
$_SESSION['user'] = $id;
if ($admin === '1')
{
// ONLY set this variable if user is an admin ($admin will return 1)
$_SESSION['admin'] = true;
}
exit_message('You have been logged in');
logout.php
Code:
<?php
require('config.php');
require('common.php');
// destroy user's
session_unset();
session_destroy();
exit_message('You have been logged out');
register.php
Code:
<?php
require('config.php');
require('common.php');
if (!ctype_alnum($_GET['id']) || (strlen($_GET['id']) !== 5))
{
exit_message('Oops, that ID appears to be invalid. IDs should have 5 characters and contain letters and numbers only.');
}
$id = $_GET['id'];
require('db.php');
$exists = mysqli_prepare($db, 'SELECT EXISTS(SELECT 1 FROM `images` WHERE `id` = ?)');
// query DB to see if ID exists
mysqli_stmt_bind_param($exists, 's', $id);
mysqli_stmt_execute($exists);
++$db_queries;
mysqli_stmt_bind_result($exists, $result);
mysqli_stmt_fetch($exists);
mysqli_stmt_close($exists);
if ($result === 0)
{
exit_message('Hmm, no image exists with that ID. Maybe it was deleted or you typed in the URL incorrectly?');
}
// check if image has been reported
$reported = mysqli_prepare($db, 'SELECT `actioned` FROM `reports` WHERE `id` = ?');
// query DB to see if ID exists
mysqli_stmt_bind_param($reported, 's', $id);
mysqli_stmt_execute($reported);
++$db_queries;
mysqli_stmt_store_result($reported);
if (mysqli_stmt_num_rows($reported) === 1)
{
mysqli_stmt_bind_result($reported, $actioned);
mysqli_stmt_fetch($reported);
mysqli_stmt_close($reported);
if ($result === 0)
{
exit_message('This image has already been reported and is under review');
}
elseif ($result === 1)
{
exit_message('This image has already been reported, and after review was deemed to be acceptable.');
}
}
// mysqli_query($db, 'INSERT INTO `reports` (`id`, `ip`) VALUES ("' . $_GET['id'] . '", "' . $_SERVER['REMOTE_ADDR'] . '")');
$query = mysqli_prepare($db, 'INSERT INTO `reports` (`id`, `ip`) VALUES (?, ?)');
mysqli_stmt_bind_param($query, 'ss', $id, $ip);
// set data for query
$ip = $_SERVER['REMOTE_ADDR'];
// insert data
mysqli_stmt_execute($query);
++$db_queries;
mysqli_stmt_close($query);
// close connection
mysqli_close($db);
mail(REPORT_EMAIL, 'An image has been reported (' . $id . ')', 'The following image has been reported: ' . VIEW_URL . $id, 'FROM: reports <reports@' . SITE_URL . '>');
exit_message('This image has been reported and will be reviewed. Thank you.');
tc.php
Code:
<?php
require('config.php');
require('common.php');
require('inc/header.php');
require('inc/tc.php');
require('inc/footer.php');
upload.php
Code:
<?php
require('config.php');
require('common.php');
// cek jika user login
if (ANON_UPLOADS === false && !isset($_SESSION['user']))
{
exit_message('Anonymous uploads have been disabled, please register or log in to upload');
}
// submit url/image
if (isset($_FILES['image']) && isset($_POST['url']))
{
exit_message('Please only choose one image to upload.');
}
// inform user exit
if (!isset($_FILES['image']) && !isset($_POST['url']))
{
exit_message('Please choose either an image on your computer to upload or a remote image to download.');
}
$allowed_ext = [
'png',
'jpg',
'gif'
];
// submit image or URL
// cek valid
// check for an uploaded image first
if (isset($_FILES['image']))
{
// user wants to upload via browser
// set variables - will check after
$size = $_FILES['image']['size'];
$ext = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
}
elseif (isset($_POST['url']))
{
// user download a remote image
// URL is valid and set variables - will check after
// is remote downloading enabled in conf.php?
if (ALLOW_REMOTE !== true)
{
// error and exit
exit_message('Remote downloading is not enabled on this installation');
}
// allowed URL schemes
$allowed_schemes = [
'http',
'https'
];
// http/https only
if (!filter_var($_POST['url'], FILTER_VALIDATE_URL) || (!in_array(parse_url($_POST['url'], PHP_URL_SCHEME), $allowed_schemes)))
{
// tidak valid URL
exit_message('Sorry, this URL is invalid');
}
// allowed domain
if ((URL_WHITELIST === true) && (!in_array(parse_url($_POST['url'], PHP_URL_HOST), $allowed_urls)))
{
exit_message('Sorry, downloads from this domain have not been allowed by the administrator');
}
// download valid
$size = get_headers($_POST['url'], 1)['Content-Length'];
$ext = end(explode('.',$_POST['url']));
}
// OK, setiap saat cek
// cek besar image
if ($size > ALLOWED_SIZE)
{
// file is too big
exit_message('Sorry, this file is too big');
}
// jika ukuran image OK
if (!in_array($ext, $allowed_ext))
{
// not allowed
exit_message('Sorry, this extension is not allowed.');
}
// ukuran sesuai
// let's set $image to either $_FILES['image'] or $_POST['url'] and check if they're valid
if (isset($_FILES['image']))
{
if (!getimagesize($_FILES['image']['tmp_name']))
{
exit_message('Sorry, this does not appear to be a valid image');
}
$image = $_FILES['image']['tmp_name'];
}
elseif (isset($_POST['url']))
{
$image = file_get_contents($_POST['url'], NULL, NULL, NULL, $size);
if (!imagecreatefromstring($image))
{
exit_message('Sorry, this does not appear to be a valid image');
}
}
require('db.php');
// prepare query
$exists = mysqli_prepare($db, 'SELECT EXISTS(SELECT 1 FROM `images` WHERE `id` = ?)');
// create ID DB
do
{
// create ID
$id = '';
$chars = 'ACDEFHJKLMNPQRTUVWXYZabcdefghijkmnopqrstuvwxyz23479';
for ($i = 0; $i < 5; ++$i)
{
$id .= $chars[mt_rand(0, 50)];
}
// $id randomly generated ID
// query DB jika ID exists
mysqli_stmt_bind_param($exists, "s", $id);
mysqli_stmt_execute($exists);
++$db_queries;
mysqli_stmt_bind_result($exists, $result);
mysqli_stmt_fetch($exists);
mysqli_stmt_close($exists);
}
while ($result === 1);
if (isset($_FILES['image']))
{
$image_path = 'images/' . $id . '.' . $ext;
// baca image
move_uploaded_file($image, $image_path);
}
else if (isset($_POST['url']))
{
// baca image
file_put_contents('images/' . $id . '.' . $ext, $image);
}
// buat thumbnail in)
if (isset($_SESSION['user']))
{
if (isset($_FILES['image']))
{
switch ($ext)
{
case 'jpg':
$thumb = imagecreatefromjpeg($image_path);
break;
case 'png':
$thumb = imagecreatefrompng($image_path);
break;
case 'gif':
$thumb = imagecreatefromgif($image_path);
break;
}
}
else if (isset($_POST['url']))
{
// setting source untuk thumb
$thumb = imagecreatefromstring($image);
}
$width = imagesx($thumb);
$height = imagesy($thumb);
if ($width > 200 || $height > 200)
{
if ($width > $height)
{
$new_width = 200;
// 300, don't bother resizing
$new_height = floor($height * ($new_width / $width));
}
else
{
$new_height = 200;
$new_width = floor($width * ($new_height / $height));
}
}
else
{
$new_height = $height;
$new_width = $width;
}
$new_thumb = imagecreatetruecolor($new_width, $new_height);
switch ($ext)
{
case 'png':
imagefill($new_thumb, 0, 0, imagecolorallocate($new_thumb, 255, 255, 255));
imagealphablending($new_thumb, TRUE);
break;
case 'gif':
$new_thumb = imagecolorallocate($thumb, 0, 0, 0);
imagecolortransparent($thumb, $new_thumb);
break;
}
imagecopyresized($new_thumb, $thumb, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagedestroy($thumb);
imagejpeg($new_thumb, 'thumbs/' . $id . '.jpg', 30);
imagedestroy($new_thumb);
}
if (!isset($_SESSION['user']))
{
$query = mysqli_prepare($db, 'INSERT INTO `images` (`id`, `ext`, `ip`) VALUES (?, ?, ?)');
mysqli_stmt_bind_param($query, 'sss', $id, $ext, $ip);
}
else
{
$query = mysqli_prepare($db, 'INSERT INTO `images` (`id`, `ext`, `user`, `ip`) VALUES (?, ?, ?, ?)');
mysqli_stmt_bind_param($query, 'ssis', $id, $ext, $user, $ip);
}
// set data for query
$user = $_SESSION['user'];
$ip = $_SERVER['REMOTE_ADDR'];
// insert data
mysqli_stmt_execute($query);
++$db_queries;
mysqli_stmt_close($query);
// close connection
mysqli_close($db);
header('location: ' . VIEW_URL . $id);
view.php
Code:
<?php
require('config.php');
require('common.php');
if (!ctype_alnum($_GET['id']) || (strlen($_GET['id']) !== 5))
{
exit_message('Oops, that ID appears to be invalid. IDs should have 5 characters and contain letters and numbers only.');
}
// ID supplied by user is safe (5 chars alphanumeric)
$id = $_GET['id'];
require('db.php');
$image = mysqli_prepare($db, 'SELECT `ext`, `time`, `user`, `ip`, `removed` FROM `images` WHERE `id` = ?');
mysqli_stmt_bind_param($image, 's', $id);
mysqli_stmt_execute($image);
++$db_queries;
mysqli_stmt_store_result($image);
if (mysqli_stmt_num_rows($image) === 0)
{
exit_message('Hmm, no image exists with that ID. Maybe it was deleted or you typed in the URL incorrectly?');
}
mysqli_stmt_bind_result($image, $ext, $time, $user, $ip, $removed);
mysqli_stmt_fetch($image);
if ($removed === '1')
{
exit_message('This image has been deleted.');
}
mysqli_stmt_close($image);
mysqli_close($db);
$dimensions = getimagesize('images/' . $id . '.' . $ext);
$size = (filesize('images/' . $id . '.' . $ext) / 1024);
require('inc/header.php');
require('inc/view.php');
require('inc/footer.php');
/* upload.sql
Code:
-- phpMyAdmin SQL Dump
-- version 4.4.8
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 12, 2018 at 06:15 PM
-- Server version: 5.5.44-0+deb7u1
-- PHP Version: 5.4.41-0+deb7u1
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
--
-- tabel struktur image
--
CREATE TABLE IF NOT EXISTS `images` (
`id` char(5) NOT NULL,
`ext` char(3) NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user` smallint(5) unsigned DEFAULT NULL,
`ip` varchar(39) NOT NULL,
`removed` enum('0','1') NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- table struktur lapor
--
CREATE TABLE IF NOT EXISTS `reports` (
`id` char(5) NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`ip` varchar(39) NOT NULL,
`actioned` enum('1','0') NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- tabel struktur user
--
CREATE TABLE IF NOT EXISTS `users` (
`id` smallint(5) unsigned NOT NULL,
`email` varchar(100) NOT NULL,
`salt` char(23) NOT NULL,
`password` char(64) NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`ip` varchar(39) NOT NULL,
`admin` enum('0','1') NOT NULL DEFAULT '0',
`banned` enum('0','1') NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- indek untuk dumbed
--
--
-- indek untuk image
--
ALTER TABLE `images`
ADD PRIMARY KEY (`id`);
--
-- index untuk lapor
--
ALTER TABLE `reports`
ADD PRIMARY KEY (`id`);
--
-- index untuk user
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT untuk dumped
--
--
-- AUTO_INCREMENT untuk table `users`
--
ALTER TABLE `users`
MODIFY `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
struktur folder file lihat pada gambar dibawah ini
public folder
include folder
[/hide]
SELESAI
HARGAILAH HASIL KARYA ORANG LAIN...APRESIASILAH.... KARENA BETAPA SUSAHNYA PARA ADMIN YANG SUDAH BERSEDIA MEMBUATKAN RUMAH BERUPA WEB/APLIKASI DLL UNTUK KITA NIKMATI.
HARGAILAH HASIL KARYA ORANG LAIN...APRESIASILAH.... KARENA BETAPA SUSAHNYA PARA ADMIN YANG SUDAH BERSEDIA MEMBUATKAN RUMAH BERUPA WEB/APLIKASI DLL UNTUK KITA NIKMATI.
Terakhir diubah: