بلیط فروشی ایستگاه اتوبوس با کد منبع PHP و SQLite
سیستم بلیط فروشی اتوبوس، یک راهکار کارآمد برای مدیریت فروش بلیط و نظارت بر سفرها است. این سیستم میتواند به راحتی با استفاده از PHP و SQLite پیادهسازی شود. در ادامه، به توضیح مراحل ساخت این سیستم پرداخته خواهد شد.
۱. راهاندازی محیط توسعه
برای شروع، ابتدا نیاز داریم تا محیط توسعه را راهاندازی کنیم.
اولین قدم نصب PHP و SQLite است. میتوانید از XAMPP یا MAMP استفاده کنید که شامل PHP و SQLite میباشد.
سپس، یک پایگاه داده SQLite برای ذخیره اطلاعات بلیطها و مسافران ایجاد کنید. فرمت فایل `.db` میتواند مناسب باشد.
۲. طراحی پایگاه داده
در این مرحله، باید جداول مورد نیاز را طراحی کنیم.
بهطور معمول، سه جدول اصلی وجود دارد:
- جدول بلیطها: شامل شناسه، مبدا، مقصد، تاریخ سفر و قیمت.
- جدول مسافران: شامل شناسه مسافر، نام، نام خانوادگی و شماره تماس.
- جدول رزروها: شامل شناسه رزرو، شناسه بلیط و شناسه مسافر.
SQL زیر میتواند برای ایجاد جداول استفاده شود:
```sql
CREATE TABLE tickets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
source TEXT NOT NULL,
destination TEXT NOT NULL,
travel_date TEXT NOT NULL,
price REAL NOT NULL
);
CREATE TABLE passengers (
id INTEGER PRIMARY KEY AUTOINCREMENT,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
contact_number TEXT NOT NULL
);
CREATE TABLE reservations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ticket_id INTEGER NOT NULL,
passenger_id INTEGER NOT NULL,
FOREIGN KEY(ticket_id) REFERENCES tickets(id),
FOREIGN KEY(passenger_id) REFERENCES passengers(id)
);
```
۳. توسعه رابط کاربری
اکنون زمان آن رسیده است که رابط کاربری را طراحی کنیم. با استفاده از HTML و CSS میتوانید فرمهایی برای ورود اطلاعات مسافران و بلیطها ایجاد کنید.
برای مثال، یک فرم ساده برای ورود اطلاعات بلیط میتواند به شکل زیر باشد:
```html
<form action="add_ticket.php" method="post">
<label for="source">مبدا:</label>
<input type="text" id="source" name="source" required>
<label for="destination">مقصد:</label>
<input type="text" id="destination" name="destination" required>
<label for="travel_date">تاریخ سفر:</label>
<input type="date" id="travel_date" name="travel_date" required>
<label for="price">قیمت:</label>
<input type="number" id="price" name="price" required>
<input type="submit" value="افزودن بلیط">
</form>
```
۴. پیادهسازی منطق بلیط فروشی
در این مرحله، باید منطق بلیط فروشی را با PHP پیادهسازی کنیم.
برای افزودن بلیط جدید، کد زیر میتواند استفاده شود:
```php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$source = $_POST['source'];
$destination = $_POST['destination'];
$travel_date = $_POST['travel_date'];
$price = $_POST['price'];
$db = new SQLite3('tickets.db');
$stmt = $db->prepare('INSERT INTO tickets (source, destination, travel_date, price) VALUES (:source, :destination, :travel_date, :price)');
$stmt->bindValue(':source', $source, SQLITE3_TEXT);
$stmt->bindValue(':destination', $destination, SQLITE3_TEXT);
$stmt->bindValue(':travel_date', $travel_date, SQLITE3_TEXT);
$stmt->bindValue(':price', $price, SQLITE3_FLOAT);
$stmt->execute();
echo "بلیط با موفقیت اضافه شد!";
}
?>
```
۵. نتیجهگیری
در نهایت، با ترکیب این مراحل، میتوانید یک سیستم بلیط فروشی برای ایستگاه اتوبوس ایجاد کنید. این سیستم به شما این امکان را میدهد که بلیطها را مدیریت کنید و اطلاعات مسافران را ذخیره نمایید. با گسترش این پروژه، میتوانید ویژگیهای بیشتری مانند پرداخت آنلاین یا گزارشگیری نیز اضافه کنید.
با این توضیحات، شما باید بتوانید یک سیستم بلیط فروشی ساده با PHP و SQLite ایجاد کنید.
بلیط فروشی ایستگاه اتوبوس با PHP و SQLite
در دنیای مدرن، سیستمهای بلیط فروشی اتوبوس نقش مهمی در راحتی مسافران ایفا میکنند. با استفاده از PHP و SQLite، میتوان یک سیستم ساده و کارآمد برای مدیریت بلیطها ایجاد کرد.
ساختار پایگاه داده
ابتدا، باید یک پایگاه داده ساده با SQLite بسازیم. این پایگاه داده شامل جدولهایی برای مسافران، بلیطها و ایستگاهها خواهد بود.
```sql
CREATE TABLE passengers (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL
);
CREATE TABLE tickets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
passenger_id INTEGER,
bus_station TEXT NOT NULL,
departure_time DATETIME NOT NULL,
FOREIGN KEY (passenger_id) REFERENCES passengers(id)
);
```
کد PHP برای ثبتنام مسافران
در مرحله بعد، از PHP برای ثبتنام مسافران استفاده میکنیم. این کد باید ورودیهای لازم را از کاربر بگیرد و آنها را در پایگاه داده ذخیره کند.
```php
<?php
$db = new SQLite3('bus_tickets.db');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
$stmt = $db->prepare('INSERT INTO passengers (name, email) VALUES (:name, :email)');
$stmt->bindValue(':name', $name, SQLITE3_TEXT);
$stmt->bindValue(':email', $email, SQLITE3_TEXT);
$stmt->execute();
echo "Passenger registered successfully!";
}
?>
```
کد PHP برای خرید بلیط
حالا بیایید کد PHP را برای خرید بلیط بنویسیم. این کد باید بلیط را برای مسافر انتخاب شده ایجاد کند.
```php
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$passenger_id = $_POST['passenger_id'];
$bus_station = $_POST['bus_station'];
$departure_time = $_POST['departure_time'];
$stmt = $db->prepare('INSERT INTO tickets (passenger_id, bus_station, departure_time) VALUES (:passenger_id, :bus_station, :departure_time)');
$stmt->bindValue(':passenger_id', $passenger_id, SQLITE3_INTEGER);
$stmt->bindValue(':bus_station', $bus_station, SQLITE3_TEXT);
$stmt->bindValue(':departure_time', $departure_time, SQLITE3_TEXT);
$stmt->execute();
echo "Ticket purchased successfully!";
}
?>
```
رابطهای کاربری
در نهایت، باید رابطهای کاربری برای ثبتنام و خرید بلیط ایجاد کنیم. این رابطها میتوانند با HTML و CSS طراحی شوند تا تجربه کاربری بهتری را فراهم کنند.
```html
<form method="POST">
<input type="text" name="name" placeholder="Full Name" required>
<input type="email" name="email" placeholder="Email" required>
<button type="submit">Register</button>
</form>
<form method="POST">
<input type="number" name="passenger_id" placeholder="Passenger ID" required>
<input type="text" name="bus_station" placeholder="Bus Station" required>
<input type="datetime-local" name="departure_time" required>
<button type="submit">Buy Ticket</button>
</form>
```
خاتمه
با این سیستم ساده، شما میتوانید بلیطهای اتوبوس را به راحتی مدیریت کنید. این کدها به شما امکان میدهند تا مسافران را ثبتنام کرده و بلیطها را برای آنها صادر کنید. در آینده، میتوانید این سیستم را با ویژگیهای بیشتری مانند مدیریت سفرها و پرداخت آنلاین گسترش دهید.