اسکریپت ورود و عضویت کاربر در PHP
در دنیای وب، ایجاد یک سیستم ورود و عضویت برای کاربران یکی از ارکان اصلی هر وبسایت است. این ویژگی به کاربران اجازه میدهد تا با ایجاد یک حساب کاربری، به محتوا و خدمات خاصی دسترسی پیدا کنند. در اینجا به توضیح کامل و جامع اسکریپت ورود و عضویت کاربر با استفاده از PHP میپردازیم.
۱. طراحی پایگاه داده
ابتدا، باید یک پایگاه داده طراحی کنیم. معمولاً یک جدول به نام `users` ایجاد میشود که شامل فیلدهای زیر است:
- `id`: شناسه کاربر (کلید اصلی)
- `username`: نام کاربری
- `password`: کلمه عبور (که باید به صورت هش ذخیره شود)
- `email`: آدرس ایمیل
- `created_at`: تاریخ ایجاد حساب
۲. فرم عضویت
در این مرحله، یک فرم HTML ساده برای عضویت ایجاد میکنیم. این فرم شامل فیلدهای نام کاربری، ایمیل و کلمه عبور است.
```html
<form action="register.php" method="post">
<input type="text" name="username" placeholder="نام کاربری" required>
<input type="email" name="email" placeholder="ایمیل" required>
<input type="password" name="password" placeholder="کلمه عبور" required>
<input type="submit" value="عضویت">
</form>
```
۳. پردازش فرم عضویت
در فایل `register.php`، دادههای ورودی را پردازش کرده و کاربر جدید را به پایگاه داده اضافه میکنیم.
```php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$email = $_POST['email'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
// اتصال به پایگاه داده
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("خطا در اتصال: " . $conn->connect_error);
}
$sql = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$password')";
if ($conn->query($sql) === TRUE) {
echo "عضویت با موفقیت انجام شد.";
} else {
echo "خطا: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
```
۴. فرم ورود
اکنون، یک فرم ورود ایجاد میکنیم که کاربران بتوانند با استفاده از نام کاربری و کلمه عبور خود وارد سیستم شوند.
```html
<form action="login.php" method="post">
<input type="text" name="username" placeholder="نام کاربری" required>
<input type="password" name="password" placeholder="کلمه عبور" required>
<input type="submit" value="ورود">
</form>
```
۵. پردازش فرم ورود
در فایل `login.php`، اعتبارسنجی کاربر انجام میشود.
```php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("خطا در اتصال: " . $conn->connect_error);
}
$sql = "SELECT * FROM users WHERE username='$username'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row['password'])) {
echo "ورود موفقیتآمیز!";
// تنظیم جلسه کاربر
} else {
echo "کلمه عبور نادرست است.";
}
} else {
echo "کاربری با این نام وجود ندارد.";
}
$conn->close();
}
?>
```
نتیجهگیری
در این مقاله، به طور جامع به ایجاد