Berikut adalah contoh sederhana sourcode aplikasi social media berbasis web menggunakan bahasa PHP dan MySQL:
1. Buatlah database baru dengan nama "social_media" di MySQL.
2. Buatlah tabel "users" dengan kolom-kolom berikut: id (int, primary key, auto increment), username (varchar), password (varchar), dan email (varchar).
3. Buatlah tabel "posts" dengan kolom-kolom berikut: id (int, primary key, auto increment), user_id (int), content (text), dan created_at (datetime).
4. Buatlah file "config.php" untuk mengatur koneksi ke database:
```php
<?php
$host = 'localhost';
$username = 'username_mysql';
$password = 'password_mysql';
$database = 'social_media';
$conn = mysqli_connect($host, $username, $password, $database);
if (!$conn) {
die("Koneksi database gagal: " . mysqli_connect_error());
}
?>
```
5. Buatlah file "index.php" sebagai halaman utama aplikasi:
```php
<?php
session_start();
require 'config.php';
// Fungsi untuk melakukan query ke database
function query($sql)
{
global $conn;
$result = mysqli_query($conn, $sql);
$rows = [];
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
return $rows;
}
// Fungsi untuk menambahkan post
function addPost($user_id, $content)
{
global $conn;
$sql = "INSERT INTO posts (user_id, content, created_at) VALUES ('$user_id', '$content', NOW())";
mysqli_query($conn, $sql);
}
// Fungsi untuk mendapatkan semua post
function getPosts()
{
$sql = "SELECT * FROM posts ORDER BY created_at DESC";
return query($sql);
}
// Fungsi untuk mendapatkan username berdasarkan user_id
function getUsername($user_id)
{
$sql = "SELECT username FROM users WHERE id = '$user_id'";
$result = query($sql);
if (count($result) > 0) {
return $result[0]['username'];
} else {
return 'Unknown';
}
}
// Login
if (isset($_POST['login'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = query($sql);
if (count($result) > 0) {
$_SESSION['user_id'] = $result[0]['id'];
header('Location: home.php');
exit();
} else {
$loginError = 'Username atau password salah.';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Social Media App</title>
</head>
<body>
<h1>Social Media App</h1>
<?php if (isset($loginError)): ?>
<p><?php echo $loginError; ?></p>
<?php endif; ?>
<h2>Login</h2>
<form action="" method="post">
<input type="text" name="username" placeholder="Username" required><br>
<input type="password" name="password" placeholder="Password" required><br>
<button type="submit" name="login">Login</button>
</form>
</body>
</html>
```
6. Buatlah file "home.php" sebagai halaman
setelah login:
```php
<?php
session_start();
require 'config.php';
// Cek apakah user sudah login
if (!isset($_SESSION['user_id'])) {
header('Location: index.php');
exit();
}
// Ambil user_id dari session
$user_id = $_SESSION['user_id'];
// Fungsi untuk mendapatkan informasi user
function getUserInfo($user_id)
{
$sql = "SELECT * FROM users WHERE id = '$user_id'";
$result = query($sql);
if (count($result) > 0) {
return $result[0];
} else {
return null;
}
}
// Fungsi untuk logout
if (isset($_POST['logout'])) {
session_destroy();
header('Location: index.php');
exit();
}
// Fungsi untuk menambahkan post
if (isset($_POST['add_post'])) {
$content = $_POST['content'];
addPost($user_id, $content);
header('Location: home.php');
exit();
}
// Mendapatkan informasi user
$userInfo = getUserInfo($user_id);
// Mendapatkan semua post
$posts = getPosts();
?>
<!DOCTYPE html>
<html>
<head>
<title>Social Media App - Home</title>
</head>
<body>
<h1>Welcome, <?php echo $userInfo['username']; ?>!</h1>
<h2>Add Post</h2>
<form action="" method="post">
<textarea name="content" placeholder="Write something..." required></textarea><br>
<button type="submit" name="add_post">Add Post</button>
</form>
<h2>Posts</h2>
<?php foreach ($posts as $post): ?>
<div>
<strong><?php echo getUsername($post['user_id']); ?>:</strong>
<p><?php echo $post['content']; ?></p>
<p><?php echo $post['created_at']; ?></p>
</div>
<?php endforeach; ?>
<h2>Logout</h2>
<form action="" method="post">
<button type="submit" name="logout">Logout</button>
</form>
</body>
</html>
```
Dengan menggunakan contoh di atas, Anda dapat membuat aplikasi social media sederhana berbasis web menggunakan bahasa PHP dan MySQL. Namun, perlu diingat bahwa ini hanya contoh dasar dan belum melibatkan fitur-fitur keamanan yang lengkap. Penting untuk melakukan validasi input dan mempertimbangkan aspek keamanan saat mengembangkan aplikasi web yang sebenarnya.
Post a Comment