Cara Membuat Website Pembelian Tiket Pesawat dengan PHP dan SQL

 Dalam sebuah system e-commerce tentunya harus terdapat database yang dapat menangani beberapa hal seperti: menangani database produk yang akan dijual, menangani pencatatan order yang masuk, produk apa yang di pesan, seberapa banyak produk tersebut dipesan.

Tabel- Tabel dalam database yang kita perlukan untuk membuat Pembelian Tiket Pesawat :


Tentu saja kita membutuhkan codingan PHP untuk membuat struktur design.
Codingan yang akan kita perlukan :
1. koneksi.php
2.Tampilan User : - index.php
                              - login.php
                              - register.php
                              - pesanan.php
                              - logout.php
                              - booking.php

3. Tampilan Petugas : - login.php
                                    - petugas.php

4. Tampilan Admin : - login.php
                                  - tambah_penerbangan.php
                                  - data_penerbangan.php
                                  - edit_penerbangan.php

Koneksi.php

<?php
session_start();

/**
 * Isi dengan detail database.
 */
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'usk_native';

/**
 * Cek koneksi ke database
 */
$connect = new mysqli($db_host, $db_user, $db_pass, $db_name);
if($connect->errno) {
  echo $connect->error;
  exit;
}
?>


Tampilan User

index.php

<?php
include "./core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$core->isUserLogin();
$data = $core->getFlightList();
$x = $core->getUser($_COOKIE["user"]);
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Online - RESERVASI PESAWAT</title>
    <link href="./styles/bootstrap.min.css" rel="stylesheet">
    <link href="./styles/styles.css" rel="stylesheet">
</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: rgba(60,160, 60,0.8);">
        <div class="container-fluid ps-5">
            <a class="navbar-brand" href="#">Tiket Online</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav w-100 ms-auto" style="float: right;">
                    <li class="nav-item">
                        <a class="nav-link active" aria-current="page" href="#">Form Pemesanan</a>
                    </li>
                    <li class="nav-item w-75">
                        <a class="nav-link" aria-current="page" href="pesanan.php">Tiket Saya</a>
                    </li>
                   
                   
                    <li class="nav-item dropdown" style="margin-left: 3%;">
                        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <?= $x["nama"] ?>
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                            <li><a class="dropdown-item" href="login.php">Logout</a></li>
                            <li><a class="dropdown-item" href="admin/login.php">Login Admin</a></li>
                            <li><a class="dropdown-item" href="petugas/login.php">Login Staff</a></li>

                         
                        </ul>
                    </li>
                </ul>
               
            </div>
        </div>
    </nav>
    <div class="container mt-5 d-flex">
        <?php foreach ($data as $flight) : ?>
            <div class="col-md-3 mb-4 h-50 m-1">
                <div class="card" style="height: 550px;">
                    <div class="card-body">
                        <img src="./public/foto/<?= $flight['foto']; ?>" class="card-img-top" alt="..." height="250">
                        <h5 class="card-title mb-0"><?= $flight['maskapai'] ?> #<?= $flight['flight_id'] ?></h5>
                        <p class="text-muted mb-3 h6"><?= $flight['bandara_asal'] ?> - <?= $flight['tujuan_akhir'] ?></p>
                        Jam Penerbangan: <?= $flight['tanggal_penerbangan'] ?><br>
                            Quota: <?= $flight['kuota'] ?><br>
                            <!-- Add other data fields as needed -->
                           
                            <!-- Example: -->
                            Sektor: <?= $flight['sektor'] ?><br>
                            Waktu Kedatangan: <?= $flight['jam_kedatangan'] ?>
                        </p>
                        <!-- Add more fields as needed -->
                        <form method="post" action="booking.php">
                            <input name="id" value="<?= $flight['flight_id'] ?>" type="hidden">
                            <hr>
                            <small class="text-muted">harga: Rp<?= $flight['harga'] ?></small>
                            <button class="btn btn-success w-100">Pesan Tiket</a>
                        </form>
                    </div>
                </div>
            </div>
        <?php endforeach; ?>
    </div>
    <script src="./styles/bootstrap.bundle.min.js"></script>

</body>

</html>

login.php

<?php
include "./core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$msg = '<div class="alert alert-warning p-2"><small>Masuk ke akun anda</small></div>';

if(isset($_POST["user"]) && isset($_POST["pass"])) {
    if($core->loginUser($_POST["user"], $_POST["pass"])){
        header("Location: index.php");
    }
    else {
        $msg = '<div class="alert alert-danger p-2"><small>Email atau Passsword salah</small></div>';
    }
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Online - Login</title>
    <link href="./styles/bootstrap.min.css" rel="stylesheet">
    <link href="./styles/styles.css" rel="stylesheet">

</head>
<body class="container" style="background-image: url(./image/background.jpg); background-repeat: no-repeat;background-size: cover;">
    <center>
    <form class=" p-3" action="" style="max-width: 500px;border: 2px solid #eee;border-radius: 10px;margin-top: 25vh;background: rgba(255,255,255,0.8)" method="post">
        <center><h3 class="mb-0">Tiket Online</h3></center>
        <small class="text-muted">Pelayanan cepat harga merakyat</small>
        <hr>
        <?=  $msg; ?>
        <input class="form-control" placeholder="Email" name="user">
        <input class="form-control mt-3" placeholder="Password" name="pass">
        <button class="btn btn-success mt-3 w-100">Login</button>
        <hr>
        <a href="register.php">Klik untuk mendaftar akun</a>
    </form>
    </center>
</body>

</html>

register.php

<?php
include "./core/libcore_backend.php";
$core = new Libcore();
$core->connect();
if(isset($_POST["nama"]) && isset($_POST["email"]) && isset($_POST["pass"])) {
    $x = $core->registerUser($_POST["nama"], $_POST["email"], $_POST["pass"]);
    if($x){
$msg = '<div class="alert alert-success p-2"><small>Akun telah dibuat </small></div>';
       
    }
    else {
        if($x){
            $msg = '<div class="alert alert-success p-2"><small>Akun gagal dibuat </small></div>';
                   
                }
    }
}
$msg = '<div class="alert alert-warning p-2"><small>Registrasi Akun</small></div>';

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Online - Register</title>
    <link href="./styles/bootstrap.min.css" rel="stylesheet">
    <link href="./styles/styles.css" rel="stylesheet">

</head>
<body class="container" style="background-image: url(./image/background.jpg); background-repeat: no-repeat;background-size: cover;">
    <center>
    <form  class=" p-3" action="" style="max-width: 500px;border: 2px solid #eee;border-radius: 10px;margin-top: 20vh;background: rgba(255,255,255,0.8)" method="post">
        <center><h3 class="mb-0">Tiket Online</h3></center>
        <small class="text-muted">Pelayanan cepat harga merakyat</small>
        <hr>
        <?=  $msg; ?>
        <input class="form-control mt-3 w-100" placeholder="Nama" name="nama">
        <div class="d-flex justify-content-start"><small class="text-muted" style="text-align: start;">Masukkan nama depan dan belakang anda</small></div>

        <input class="form-control mt-3" placeholder="Email" name="email" type="email">
        <div class="d-flex justify-content-start"><small class="text-muted" style="text-align: start;">Masukkan email yang valid (harus memiliki simbol '@')</small></div>
        <input class="form-control mt-3" placeholder="Password" name="pass">
        <div class="d-flex justify-content-start"><small class="text-muted" style="text-align: start;">Masukkan password yang ingin digunakan</small></div>

        <button class="btn btn-success mt-3 w-100">Register</button>
        <hr>
        <a href="login.php">Klik jika sudah mempunyai akun</a>
    </form>
    </center>
</body>

</html>

pesanan.php

<?php
include "./core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$core->isUserLogin();
$x = $core->getUser($_COOKIE["user"]);
$data = $core->getTicket($x["user_id"]);

?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Onlne - RESERVASI PESAWAT</title>
    <link href="./styles/bootstrap.min.css" rel="stylesheet">
    <link href="./styles/styles.css" rel="stylesheet">

</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: rgba(60,160, 60,0.8);">
        <div class="container-fluid ps-5">
            <a class="navbar-brand" href="#">Tiket Onlne</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav w-100 ms-auto" style="float: right;">
                    <li class="nav-item">
                        <a class="nav-link" aria-current="page" href="index.php">Form Pemesanan</a>
                    </li>
                    <li class="nav-item w-75">
                        <a class="nav-link active" aria-current="page" href="pesanan.php">Tiket Saya</a>
                    </li>


                    <li class="nav-item dropdown" style="margin-left: 3%;">
                        <a class="nav-link active dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <?= $x["nama"] ?>
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                            <li><a class="dropdown-item" href="#">Logout</a></li>
                            <li><a class="dropdown-item" href="admin/login.php">Login Adminf</a></li>
                            <li><a class="dropdown-item" href="petugas/login.php">Login Staff</a></li>

                        </ul>
                    </li>
                </ul>

            </div>
        </div>
    </nav>
    <div class="container mt-5 ">
    <h4 class="text-muted">User Area > Ticket Status</h4>

        <table class="table table-sm table-striped table-bordered">
            <thead>
                <tr>
                    <th>Maskapai</th>
                    <th>Tujuan</th>
                    <th>Sektor</th>
                    <th>Tanggal Penerbangan</th>
                    <th>Jam Kedatangan</th>
                    <th>Jam Keberangkatan</th>
                    <th>Jam Tiba</th>
                    <th>Kode PNR</th>
                    <th>Harga</th>
                    <th>Konfirmasi</th>


                </tr>
            </thead>
            <tbody>
                <tr>

                    <?php
                    foreach ($data as $f) :
                    ?>
                        <td><?= $f["maskapai"] ?></td>
                        <td><?= $f["bandara_asal"] ?> - <?= $f["tujuan_akhir"] ?> </td>
                        <td><?= $f["sektor"] ?></td>
                        <td><?= $f["tanggal_penerbangan"] ?></td>
                        <td><?= $f["jam_kedatangan"] ?></td>
                        <td><?= $f["jam_berangkat"] ?></td>
                        <td><?= $f["jam_tiba"] ?></td>
                        <td><?= $f["kode_pnr"]; ?></td>
                        <td><?= $f["harga"] ?></td>
                        <td><?= $f["konfirmasi"] == 0 ? "<small class='text-danger'>belum</small>" : "<a class='btn btn-sm btn-success'>Cetak tiket</a>"; ?></td>



                </tr>
            <?php
                    endforeach;
            ?>
            </tbody>
        </table>
    </div>
    <script src="./styles/bootstrap.bundle.min.js"></script>

</body>

</html>

logout.php

<?php
$currentPath = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$p= dirname($currentPath);
setcookie("user", "", time() - 3600, "$p/");
setcookie("pass", "", time() - 3600, "$p/");
setcookie("user", "", time() - 3600);
setcookie("pass", "", time() - 3600);
setcookie("user", "", time() - 3600, "$p/admin");
setcookie("pass", "", time() - 3600, "$p/admin");
setcookie("user", "", time() - 3600, "$p/petugas");
setcookie("pass", "", time() - 3600, "$p/petugas");
header("Location: index.php");
?>

booking.php

<?php
include "./core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$core->isUserLogin();
$x = $core->getUser($_COOKIE["user"]);

if (isset($_POST["id"])) {
    $f = $core->getFlight($_POST["id"]);
}
$arr = [];
$tickets = [];
$kode_pnr = uniqid();
$date = new DateTime("now");
$core->insertTicket(
    intval($x["user_id"]),
    $kode_pnr,
    $date->format("Y-m-d"),
    $_POST["id"]
);
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Onlne - RESERVASI PESAWAT</title>
    <link href="./styles/bootstrap.min.css" rel="stylesheet">
    <link href="./styles/styles.css" rel="stylesheet">

</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: rgba(60,160, 60,0.8);">
        <div class="container-fluid ps-5">
            <a class="navbar-brand" href="#">Tiket Onlne</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav w-100 ms-auto" style="float: right;">
                    <li class="nav-item">
                        <a class="nav-link active" aria-current="page" href="#">Form Pemesanan</a>
                    </li>
                    <li class="nav-item w-75">
                        <a class="nav-link" aria-current="page" href="pesanan.php">Tiket Saya</a>
                    </li>


                    <li class="nav-item dropdown" style="margin-left: 3%;">
                        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <?= $x["nama"] ?>
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                            <li><a class="dropdown-item" href="#">Logout</a></li>
                            <li><a class="dropdown-item" href="admin/login.php">Login Staff</a></li>
                            <li><a class="dropdown-item" href="petugas/login.php">Login Admin</a></li>


                        </ul>
                    </li>
                </ul>

            </div>
        </div>
    </nav>
    <div class="container mt-5">
        <center>
            <h4>Pemesanan selesai</h4>
        </center>
        <table class="table table-striped table-bordered">
            <thead>
                <tr>
                    <th>Maskapai</th>
                    <th>Tujuan</th>
                    <th>Sektor</th>
                    <th>Tanggal Penerbangan</th>
                    <th>Jam Kedatangan</th>
                    <th>Jam Keberangkatan</th>
                    <th>Jam Tiba</th>
                    <th>Kode PNR</th>
                    <th>Harga</th>

                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><?= $f["maskapai"] ?></td>
                    <td><?= $f["bandara_asal"] ?> - <?= $f["tujuan_akhir"] ?> </td>
                    <td><?= $f["sektor"] ?></td>
                    <td><?= $f["tanggal_penerbangan"] ?></td>

                    <td><?= $f["jam_kedatangan"] ?></td>
                    <td><?= $f["jam_berangkat"] ?></td>
                    <td><?= $f["jam_tiba"] ?></td>
                    <td><?= $kode_pnr; ?></td>
                    <td><?= $f["harga"] ?></td>


                </tr>
            </tbody>
        </table>
        <center><a class="btn btn-success" href="pesanan.php">cek status konfirmasi tiket</a></center>
    </div>
</body>

</html>


Tampilan Petugas

login.php

<?php
include "./../core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$msg = '<div class="alert alert-warning p-2"><small>Masuk ke akun staff</small></div>';

if(isset($_POST["user"]) && isset($_POST["pass"])) {
    if($core->loginStaff($_POST["user"], $_POST["pass"])){
        header("Location: petugas.php");
    }
    else {
        $msg = '<div class="alert alert-danger p-2"><small>Email atau Passsword salah</small></div>';
    }
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Onlne - LOGIN</title>
    <link href="./../styles/bootstrap.min.css" rel="stylesheet">
    <link href="./../styles/styles.css" rel="stylesheet">

</head>
<body class="container" style="background-image: url(./../image/ryan_air.jpeg); background-repeat: no-repeat;background-size: cover;">
    <center>
    <form class=" p-3" action="" style="max-width: 500px;border: 2px solid #eee;border-radius: 10px;margin-top: 25vh;background: rgba(255,255,255,0.8)" method="post">
        <center><h3 class="mb-0">Tiket Onlne </h3></center>
        <small class="text-muted">Pelayanan cepat harga merakyat</small>
        <hr>
        <?=  $msg; ?>
        <input class="form-control" placeholder="Email" name="user">
        <input class="form-control mt-3" placeholder="Password" name="pass">
        <button class="btn btn-success mt-3 w-100">Login</button>
    </form>
    </center>
</body>

</html>

petugas.php

<?php
include "./../core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$core->isStaffLogin();
$x = $core->getUser($_COOKIE["user"]);
if(isset($_GET["confirm"])){
    $core->confirmTicket(intval( $_GET["confirm"]));
}
$data = $core->getTicketList();

?>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Onlne - STAFF AREA</title>
    <link href="./../styles/bootstrap.min.css" rel="stylesheet">
    <link href="./../styles/styles.css" rel="stylesheet">

</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: rgba(60,50, 60,0.8);">
        <div class="container-fluid ps-5">
            <a class="navbar-brand" href="#">Tiket Onlne<small><i>staff</i></small></a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav w-100 ms-auto" style="float: right;">
                   
                    <li class="nav-item" style="width: 85%;">
                        <a class="nav-link active" aria-current="page" href="petugas.php">Konfirmasi Tiket</a>
                    </li>


                    <li class="nav-item dropdown" style="margin-left: 3%;">
                        <a class="nav-link active dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <?= $x["nama"] ?>
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                            <li><a class="dropdown-item" href="./../logout.php">Logout</a></li>
                            <li><a class="dropdown-item" href="./../admin/login.php">Login to Admin</a></li>
                            <li><a class="dropdown-item" href="./../petugas/login.php">Login to Staff</a></li>

                        </ul>
                    </li>
                </ul>

            </div>
        </div>
    </nav>
    <div class="container mt-4 ">
       
            <h4 class="text-muted">Staff Area > Ticket Confirmation</h4>
        <table class="table table-sm table-striped table-bordered">
            <thead>
                <tr>
                <th>Atas nama</th>
                    <th>Maskapai</th>
                    <th>Tgl. Dipesan</th>
                    <th>Tujuan</th>
                    <th>Sektor</th>
                    <th>Tgl. Penerbangan</th>
                    <th>Jam Kedatangan</th>
                    <th>Jam Keberangkatan</th>
                    <th>Jam Tiba</th>
                    <th>Kode PNR</th>
                    <th>Harga</th>
                    <th>Konfirmasi</th>


                </tr>
            </thead>
            <tbody>
                <tr>

                    <?php
                    foreach ($data as $f) :
                    ?>
                        <td><?= $f["nama"] ?></td>
                        <td><?= $f["maskapai"] ?></td>
                        <td><?= $f["tanggal"] ?></td>

                        <td><?= $f["bandara_asal"] ?> - <?= $f["tujuan_akhir"] ?> </td>
                        <td><?= $f["sektor"] ?></td>
                        <td><?= $f["tanggal_penerbangan"] ?></td>
                        <td><?= $f["jam_kedatangan"] ?></td>
                        <td><?= $f["jam_berangkat"] ?></td>
                        <td><?= $f["jam_tiba"] ?></td>
                        <td><?= $f["kode_pnr"]; ?></td>
                        <td><?= $f["harga"] ?></td>
                        <td><?= $f["konfirmasi"] == 0 ? "<a class='btn btn-sm btn-success' href='?confirm=".$f['order_id']."'>Konfirmasi</a>" : "<small class='text-muted'>Sudah Dikonfirmasi</small>"; ?></td>



                </tr>
            <?php
                    endforeach;
            ?>
            </tbody>
        </table>
    </div>
    <script src="./../styles/bootstrap.bundle.min.js"></script>

</body>

</html>


Tampilan Admin

login.php

<?php
include "./../core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$msg = '<div class="alert alert-warning p-2"><small>Masuk ke akun Admin</small></div>';

if(isset($_POST["user"]) && isset($_POST["pass"])) {
    if($core->loginAdmin($_POST["user"], $_POST["pass"])){
       
        header("Location: data_penerbangan.php");
    }
    else {
        $msg = '<div class="alert alert-danger p-2"><small>Email atau Passsword salah</small></div>';
    }
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Online - LOGIN</title>
    <link href="./../styles/bootstrap.min.css" rel="stylesheet">
    <link href="./../styles/styles.css" rel="stylesheet">

</head>
<body class="container" style="background-image: url(./../image/ryan_air.jpeg); background-repeat: no-repeat;background-size: cover;">
    <center>
    <form class=" p-3" action="" style="max-width: 500px;border: 2px solid #eee;border-radius: 10px;margin-top: 25vh;background: rgba(255,255,255,0.8)" method="post">
        <center><h3 class="mb-0">Tiket Online </h3></center>
        <small class="text-muted">Pelayanan cepat harga merakyat</small>
        <hr>
        <?=  $msg; ?>
        <input class="form-control" placeholder="Email" name="user">
        <input class="form-control mt-3" placeholder="Password" name="pass">
        <button class="btn btn-success mt-3 w-100">Login</button>
    </form>
    </center>
</body>

</html>

tambah_penerbangan.php

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
include "./../core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$core->isAdminLogin();
$msg = "";
$x = $core->getUser($_COOKIE["user"]);
if (isset($_POST["maskapai"])) {
    if ($core->insertFlight($_POST, $_FILES["foto"]))

        $msg = '<div class="alert alert-success p-2"><small>Data penerbangan telah dibuat </small></div>';
    else
        $msg = '<div class="alert alert-success p-2"><small>Data penerbangan gagal dibuat </small></div>';
}
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Online - RESERVASI PESAWAT</title>
    <link href="./../styles/bootstrap.min.css" rel="stylesheet">
    <link href="./../styles/styles.css" rel="stylesheet">

</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: rgba(0,0, 0,0.8);">
        <div class="container-fluid ps-5">
            <a class="navbar-brand" href="#">Tiket Online<small><i>staff</i></small></a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav w-100 ms-auto" style="float: right;">

                <li class="nav-item"">
                        <a class="nav-link" aria-current="page" href="data_penerbangan.php">Data</a>
                    </li>
                    <li class="nav-item" style="width: 85%;">
                        <a class="nav-link active" aria-current="page" href="tambah_penerbangan.php">Tambah Penerbangan</a>
                    </li>
                    <li class="nav-item dropdown" style="margin-left: 3%;">
                        <a class="nav-link active dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <?= $x["nama"] ?>
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                        <li><a class="dropdown-item" href="./../logout.php">Logout</a></li>
                            <li><a class="dropdown-item" href="./../admin/login.php">Login to Admin</a></li>
                            <li><a class="dropdown-item" href="./../petugas/login.php">Login to Staff</a></li>

                        </ul>
                    </li>
                </ul>

            </div>
        </div>
    </nav>
        <div class="container mt-3">
            <h3 class="text-muted">Admin area > Tambah Penerbangan</h3>

            <div class="container p-3" style="border: 2px solid #eee;border-radius: 10px">
                <?= $msg ?>
                <form method="post" action="tambah_penerbangan.php" enctype="multipart/form-data">

                    <!-- Dropdown for Maskapai -->
                    <div class="mb-3">
                        <label for="maskapai" class="form-label">Maskapai</label>
                        <select class="form-select" id="maskapai" name="maskapai" required>
                            <option value="Ryan Air">Ryan Air</option>
                            <option value="Batik Air">Batik Air</option>
                            <option value="EasyJet">EasyJet</option>
                            <option value="Citilink">Citilink</option>
                            <option value="Garuda ID">Garuda Indonesia</option>
                            <option value="Indonesia AS">Indonesia AirAsia</option>
                            <option value="Lion Air">Lion Air</option>
                            <option value="Sriwijaya Air">Sriwijaya Air</option>
                        </select>
                    </div>

                    <!-- Date input for Tanggal Penerbangan -->
                    <div class="mb-3">
                        <label for="tanggal_penerbangan" class="form-label">Tanggal Penerbangan</label>
                        <input type="date" class="form-control" id="tanggal_penerbangan" name="tanggal_penerbangan" required>
                    </div>

                    <!-- Number input for Kuota -->
                    <div class="mb-3">
                        <label for="kuota" class="form-label">Kuota</label>
                        <input type="number" class="form-control" id="kuota" name="kuota" required>
                    </div>

                    <!-- Time input for Jam Kedatangan -->
                    <div class="mb-3">
                        <label for="jam_kedatangan" class="form-label">Jam Kedatangan</label>
                        <input type="time" class="form-control" id="jam_kedatangan" name="jam_kedatangan" required>
                    </div>
                    <!-- Text input for bandara asal -->

                    <div class="mb-3">
                        <label for="tujuan_akhir" class="form-label">Bandara Asal</label>
                        <input type="text" class="form-control" id="bandara_asal" name="bandara_asal" required>
                    </div>

                    <!-- Text input for Tujuan Akhir -->
                    <div class="mb-3">
                        <label for="tujuan_akhir" class="form-label">Tujuan</label>
                        <input type="text" class="form-control" id="tujuan_akhir" name="tujuan_akhir" required>
                    </div>

                    <!-- Text input for Sektor -->
                    <div class="mb-3">
                        <label for="sektor" class="form-label">Sektor</label>
                        <input type="text" class="form-control" id="sektor" name="sektor" required>
                    </div>

                    <!-- Number input for Harga -->
                    <div class="mb-3">
                        <label for="harga" class="form-label">Harga</label>
                        <input type="number" class="form-control" id="harga" name="harga" required>
                    </div>

                    <!-- Time input for Jam Berangkat -->
                    <div class="mb-3">
                        <label for="jam_berangkat" class="form-label">Jam Berangkat</label>
                        <input type="time" class="form-control" id="jam_berangkat" name="jam_berangkat" required>
                    </div>

                    <!-- Time input for Jam Tiba -->
                    <div class="mb-3">
                        <label for="jam_tiba" class="form-label">Jam Tiba</label>
                        <input type="time" class="form-control" id="jam_tiba" name="jam_tiba" required>
                    </div>
                    <div class="mb-3">
                        <label for="jam_tiba" class="form-label">Foto</label>
                        <input type="file" class="form-control" id="foto" name="foto" required>
                    </div>
                    <!-- Submit button -->
                    <button type="submit" class="btn btn-primary">Submit</button>

                </form>
            </div>
        </div>
        <script src="./../styles/bootstrap.bundle.min.js"></script>

</body>

</html>

data_penerbangan.php

<?php
include "./../core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$core->isAdminLogin();
if(isset($_GET["del"])){
    if($core->deleteFlight($_GET["del"])) echo "<script>alert('Data telah dihapus')</script>";
}
$data = $core->getFlightList();
$x = $core->getUser($_COOKIE["user"]);
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Online - RESERVASI PESAWAT</title>
    <link href="./../styles/bootstrap.min.css" rel="stylesheet">
    <link href="./../styles/styles.css" rel="stylesheet">

</head>

<body>
<nav class="navbar navbar-expand-lg navbar-dark" style="background-color: rgba(0,0, 0,0.8);">
        <div class="container-fluid ps-5">
            <a class="navbar-brand" href="#">Tiket Online<small><i>staff</i></small></a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav w-100 ms-auto" style="float: right;">
                   
                    <li class="nav-item" >
                        <a class="nav-link active" aria-current="page" href="data_penerbangan.php">Data</a>
                    </li>
                    <li class="nav-item" style="width: 85%;">
                        <a class="nav-link" aria-current="page" href="tambah_penerbangan.php">Tambah Penerbangan</a>
                    </li>


                    <li class="nav-item dropdown" style="margin-left: 3%;">
                        <a class="nav-link active dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <?= $x["nama"] ?>
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                        <li><a class="dropdown-item" href="./../logout.php">Logout</a></li>
                            <li><a class="dropdown-item" href="./../admin/login.php">Login to Admin</a></li>
                            <li><a class="dropdown-item" href="./../petugas/login.php">Login to Staff</a></li>

                        </ul>
                    </li>
                </ul>

            </div>
        </div></nav>
    <div class="container mt-5">
        <h2>Flight Data</h2>
        <table class="table table-striped table-bordered">
            <thead>
                <tr>
                    <th>Maskapai</th>
                    <th>Tanggal Penerbangan</th>
                    <th>Kuota</th>
                    <th>Bandara Asal</th>
                    <th>Jam Kedatangan</th>
                    <th>Tujuan Akhir</th>
                    <th>Sektor</th>
                    <th>Harga</th>
                    <th>Jam Berangkat</th>
                    <th>Jam Tiba</th>
                    <th>Image</th>

                    <th>Actions</th>

                </tr>
            </thead>
            <tbody>
                <?php foreach ($data as $flight) : ?>
                    <tr>
                        <td><?= strval($flight['maskapai']); ?></td>
                        <td><?= strval( $flight['tanggal_penerbangan']); ?></td>
                        <td><?= strval( $flight['kuota']); ?></td>
                        <td><?= $flight['bandara_asal']; ?></td>
                        <td><?= $flight['jam_kedatangan']; ?></td>
                        <td><?= $flight['tujuan_akhir']; ?></td>
                        <td><?= $flight['sektor']; ?></td>
                        <td><?= $flight['harga']; ?></td>
                        <td><?= $flight['jam_berangkat']; ?></td>
                        <td><?= $flight['jam_tiba']; ?></td>
                        <td><img src="./../public/foto/<?= $flight['foto']; ?>" width="100" height="100"> </td>

                        <td><a class="btn btn-success btn-sm m-1" href="edit_penerbangan.php?id=<?= $flight['flight_id']; ?>">Edit</a><a class="btn btn-danger btn-sm m-1" href="?del=<?= $flight['flight_id'] ?>">Hapus</a></td>
                       
                    </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </div>
    <script src="./../styles/bootstrap.bundle.min.js"></script>

    </div>
</body>

</html>

edit_penerbangan.php

<?php
include "./../core/libcore_backend.php";
$core = new Libcore();
$core->connect();
$core->isAdminLogin();
$f = $core->getFlight($_GET["id"]);
$msg = "";
if (isset($_POST["maskapai"]) && isset($_GET["edit"])) {
    if ($core->editFlight($_POST, $_GET["id"]))
        $msg = '<div class="alert alert-success p-2"><small>Data telah di edit </small></div>';
    else
        $msg = '<div class="alert alert-success p-2"><small>Data gagal di edit </small></div>';
}
$x = $core->getUser($_COOKIE["user"]);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tiket Online - RESERVASI PESAWAT</title>
    <link href="./../styles/bootstrap.min.css" rel="stylesheet">
    <link href="./../styles/styles.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark" style="background-color: rgba(0,0, 0,0.8);">
        <div class="container-fluid ps-5">
            <a class="navbar-brand" href="#">Tiket Online<small><i>staff</i></small></a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav w-100 ms-auto" style="float: right;">
                   
                    <li class="nav-item" >
                        <a class="nav-link active" aria-current="page" href="data_penerbangan.php">Data</a>
                    </li>
                    <li class="nav-item" style="width: 85%;">
                        <a class="nav-link" aria-current="page" href="tambah_penerbangan.php">Tambah Penerbangan</a>
                    </li>


                    <li class="nav-item dropdown" style="margin-left: 3%;">
                        <a class="nav-link active dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <?= $x["nama"] ?>
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                        <li><a class="dropdown-item" href="./../logout.php">Logout</a></li>
                            <li><a class="dropdown-item" href="./../admin/login.php">Login to Admin</a></li>
                            <li><a class="dropdown-item" href="./../petugas/login.php">Login to Staff</a></li>

                        </ul>
                    </li>
                </ul>

            </div>
        </div></nav>
    <div class="container mt-5">

        <div class="container mt-5 m-5 p-3" style="border: 2px solid #eee;border-radius: 10px">
            <h2>Edit Penerbangan</h2>
            <?= $msg ?>
            <form method="post" action="edit_penerbangan.php?id=<?= $_GET['id'] ?>&edit=true">

                <!-- Dropdown for Maskapai -->
                <div class="mb-3">
                    <label for="maskapai" class="form-label">Maskapai</label>
                    <select class="form-select" id="maskapai" name="maskapai" required>
                        <option value="ryan_air" <?= $f["maskapai"] == 'ryan_air' ? 'selected' :'' ?>>Ryan Air</option>
                        <option value="batik_air"  <?= $f["maskapai"] == 'batik_air' ? 'selected' :'' ?>>Batik Air</option>
                        <option value="easyjet"  <?= $f["maskapai"] == 'easyjet' ? 'selected' :'' ?>>EasyJet</option>
                    </select>
                </div>

                <!-- Date input for Tanggal Penerbangan -->
                <div class="mb-3">
                    <label for="tanggal_penerbangan" class="form-label">Tanggal Penerbangan</label>
                    <input type="date" class="form-control" id="tanggal_penerbangan" name="tanggal_penerbangan" value="<?= $f["tanggal_penerbangan"] ?>" required>
                </div>

                <!-- Number input for Kuota -->
                <div class="mb-3">
                    <label for="kuota" class="form-label">Kuota</label>
                    <input type="number" class="form-control" id="kuota" name="kuota" value="<?= $f["kuota"] ?>" required>
                </div>

                <!-- Time input for Jam Kedatangan -->
                <div class="mb-3">
                    <label for="jam_kedatangan" class="form-label">Jam Kedatangan</label>
                    <input type="time" class="form-control" id="jam_kedatangan" name="jam_kedatangan" value="<?= $f["jam_kedatangan"] ?>" required>
                </div>
                <!-- Text input for bandara asal -->

                <div class="mb-3">
                    <label for="tujuan_akhir" class="form-label">Bandara Asal</label>
                    <input type="text" class="form-control" id="bandara_asal" value=" <?= $f["bandara_asal"] ?>" name="bandara_asal" required>
                </div>

                <!-- Text input for Tujuan Akhir -->
                <div class="mb-3">
                    <label for="tujuan_akhir" class="form-label">Tujuan</label>
                    <input type="text" class="form-control" id="tujuan_akhir" name="tujuan_akhir" value=" <?= $f["tujuan_akhir"] ?>" required>
                </div>

                <!-- Text input for Sektor -->
                <div class="mb-3">
                    <label for="sektor" class="form-label">Sektor</label>
                    <input type="text" class="form-control" id="sektor" name="sektor" value=" <?= $f["sektor"] ?>" required>
                </div>

                <!-- Number input for Harga -->
                <div class="mb-3">
                    <label for="harga" class="form-label">Harga</label>
                    <input type="number" class="form-control" id="harga" name="harga" value=  <?= strval($f["harga"]) ?> required>
                </div>

                <!-- Time input for Jam Berangkat -->
                <div class="mb-3">
                    <label for="jam_berangkat" class="form-label">Jam Berangkat</label>
                    <input type="time" class="form-control" id="jam_berangkat" name="jam_berangkat"  value="<?= $f["jam_berangkat"] ?>"required>
                </div>

                <!-- Time input for Jam Tiba -->
                <div class="mb-3">
                    <label for="jam_tiba" class="form-label">Jam Tiba</label>
                    <input type="time" class="form-control" id="jam_tiba" name="jam_tiba" value="<?= $f["jam_tiba"] ?>" required>
                </div>

                <!-- Submit button -->
                <button type="submit" class="btn btn-primary">Submit</button>

            </form>
        </div>
    </div>
    <script src="./../styles/bootstrap.bundle.min.js"></script>

</body>

</html>

Tampilan User

Login



Register



Index




Tampilan Petugas

Index



Tampilan User

Tambah Penerbangan




Data Penerbebangan




Komentar

Postingan populer dari blog ini

Cara Menggabungkan Sel Tabel (Attribut Rowspan dan Colspan)

Membuat program dengan 5 Struktur Kontrol pada bahasa PHP