آموزش ساخت سیستم مدیریت شماره تلفن

آموزش ساخت سیستم مدیریت شماره تلفن با PHP

آموزش ساخت سیستم مدیریت شماره تلفن با PHP

در این مقاله، به بررسی گام به گام ساخت یک سیستم مدیریت شماره تلفن با استفاده از زبان برنامه‌نویسی PHP خواهیم پرداخت. این سیستم به شما امکان می‌دهد شماره تلفن‌ها را ذخیره، ویرایش، حذف و جستجو کنید. هدف از این آموزش، ارائه یک راهکار عملی و قابل فهم برای توسعه‌دهندگان مبتدی و متوسط است.

بخش اول: طراحی پایگاه داده

اولین قدم در ساخت هر سیستم، طراحی پایگاه داده است. برای این سیستم، یک جدول ساده با نام ‘numbers’ کافی است. این جدول شامل ستون‌های زیر خواهد بود:

  • id: شناسه یکتا برای هر شماره تلفن (integer, auto-increment, primary key)
  • name: نام صاحب شماره تلفن (varchar)
  • phone_number: شماره تلفن (varchar)
  • description: توضیحات تکمیلی (text)
  • created_at: تاریخ ایجاد رکورد (timestamp)
  • updated_at: تاریخ آخرین به‌روزرسانی رکورد (timestamp)

می‌توانید این جدول را با استفاده از دستورات SQL زیر ایجاد کنید:

CREATE TABLE numbers (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  phone_number VARCHAR(20) NOT NULL,
  description TEXT,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

بخش دوم: اتصال به پایگاه داده

برای اتصال به پایگاه داده، از PDO (PHP Data Objects) استفاده خواهیم کرد. PDO یک لایه انتزاعی است که به شما امکان می‌دهد با انواع مختلفی از پایگاه‌های داده (MySQL, PostgreSQL, SQLite و غیره) کار کنید. ابتدا، اطلاعات اتصال به پایگاه داده را در یک فایل پیکربندی (مثلاً config.php) ذخیره کنید:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
  die("Connection failed: " . $e->getMessage());
}
?>

در این کد، اطلاعات اتصال به پایگاه داده را وارد کنید. سپس، این فایل را در سایر قسمت‌های کد خود include کنید.

بخش سوم: ایجاد، خواندن، به‌روزرسانی و حذف (CRUD)

اکنون، عملیات CRUD را برای مدیریت شماره تلفن‌ها پیاده‌سازی خواهیم کرد.

1. ایجاد (Create)

برای ایجاد یک شماره تلفن جدید، از یک فرم HTML استفاده می‌کنیم که اطلاعات را به یک فایل PHP ارسال می‌کند. فایل PHP مسئول درج اطلاعات در پایگاه داده است.

فرم HTML:

<form action="create.php" method="post">
  <label for="name">نام:</label>
  <input type="text" id="name" name="name" required><br>

  <label for="phone_number">شماره تلفن:</label>
  <input type="text" id="phone_number" name="phone_number" required><br>

  <label for="description">توضیحات:</label>
  <textarea id="description" name="description"></textarea><br>

  <input type="submit" value="ذخیره">
</form>

فایل create.php:

prepare("INSERT INTO numbers (name, phone_number, description) VALUES (?, ?, ?)");
  $stmt->execute([$name, $phone_number, $description]);

  header("Location: index.php"); // Redirect to the index page
  exit();
}
?>

2. خواندن (Read)

برای خواندن لیست شماره تلفن‌ها، از یک فایل PHP استفاده می‌کنیم که اطلاعات را از پایگاه داده واکشی کرده و در یک جدول HTML نمایش می‌دهد.

فایل index.php:

query("SELECT * FROM numbers");
$numbers = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

<table>
  <thead>
    <tr>
      <th>نام</th>
      <th>شماره تلفن</th>
      <th>توضیحات</th>
      <th>عملیات</th>
    </tr>
  </thead>
  <tbody>
    
      <tr>
        <td><?php echo $number['name']; ?></td>
        <td><?php echo $number['phone_number']; ?></td>
        <td><?php echo $number['description']; ?></td>
        <td>
          <a href="edit.php?id=">ویرایش</a> | <a href="delete.php?id=">حذف</a>
        </td>
      </tr>
    
  </tbody>
</table>

3. به‌روزرسانی (Update)

برای به‌روزرسانی یک شماره تلفن، ابتدا باید اطلاعات آن را از پایگاه داده واکشی کنیم و در یک فرم HTML نمایش دهیم. سپس، کاربر می‌تواند اطلاعات را ویرایش کرده و فرم را ارسال کند. فایل PHP مسئول به‌روزرسانی اطلاعات در پایگاه داده است.

فایل edit.php:

prepare("SELECT * FROM numbers WHERE id = ?");
$stmt->execute([$id]);
$number = $stmt->fetch(PDO::FETCH_ASSOC);
?>

<form action="update.php?id=" method="post">
  <label for="name">نام:</label>
  <input type="text" id="name" name="name" value="" required><br>

  <label for="phone_number">شماره تلفن:</label>
  <input type="text" id="phone_number" name="phone_number" value="" required><br>

  <label for="description">توضیحات:</label>
  <textarea id="description" name="description"><?php echo $number['description']; ?></textarea><br>

  <input type="submit" value="به‌روزرسانی">
</form>

فایل update.php:

prepare("UPDATE numbers SET name = ?, phone_number = ?, description = ? WHERE id = ?");
$stmt->execute([$name, $phone_number, $description, $id]);

header("Location: index.php"); // Redirect to the index page
exit();
?>

4. حذف (Delete)

برای حذف یک شماره تلفن، از یک فایل PHP استفاده می‌کنیم که اطلاعات را از پایگاه داده حذف می‌کند.

فایل delete.php:

prepare("DELETE FROM numbers WHERE id = ?");
$stmt->execute([$id]);

header("Location: index.php"); // Redirect to the index page
exit();
?>

بخش چهارم: بهبود و توسعه

سیستم مدیریت شماره تلفن ساخته شده، یک پایه قوی است که می‌توانید آن را بهبود و توسعه دهید. برخی از ایده‌ها برای توسعه عبارتند از:

  • اعتبارسنجی ورودی‌ها: اطمینان حاصل کنید که ورودی‌های کاربر معتبر هستند (مثلاً شماره تلفن باید در قالب صحیح باشد).
  • صفحه‌بندی: اگر تعداد شماره تلفن‌ها زیاد است، از صفحه‌بندی برای نمایش آن‌ها استفاده کنید.
  • جستجو: امکان جستجو در لیست شماره تلفن‌ها را فراهم کنید.
  • گروه‌بندی: امکان گروه‌بندی شماره تلفن‌ها را فراهم کنید (مثلاً بر اساس نام، شهر و غیره).
  • امنیت: از تکنیک‌های امنیتی برای جلوگیری از حملات SQL Injection و XSS استفاده کنید.

با پیاده‌سازی این بهبودها، می‌توانید یک سیستم مدیریت شماره تلفن قدرتمند و کاربردی ایجاد کنید.