Для создания индивидуальной страницы для каждого пользователя на простом сайте с системой регистрации и авторизации, вам понадобятся следующие шаги:
### 1. Настройка базы данных
В вашей базе данных создайте таблицу для хранения данных пользователей, например:
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
other_data TEXT
);
```
### 2. Регистрация пользователя
При регистрации пользователя вам нужно будет записать его данные в базу данных. Пример на PHP может выглядеть так:
```php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT); // Хэшируем пароль
// Подключение к базе данных
$conn = new mysqli("localhost", "user", "password", "database");
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
if ($conn->query($sql) === TRUE) {
$userId = $conn->insert_id; // Получаем ID нового пользователя
// Редирект на индивидуальную страницу
header("Location: /user.php?id=$userId");
exit();
} else {
echo "Ошибка: " . $conn->error;
}
$conn->close();
}
```
### 3. Индивидуальная страница пользователя
Создайте файл `user.php`, который будет генерировать индивидуальную страницу для каждого пользователя на основе переданного ID.
```php
// Проверка наличия ID в URL
if (isset($_GET['id'])) {
$userId = (int)$_GET['id'];
// Подключение к базе данных
$conn = new mysqli("localhost", "user", "password", "database");
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
// Получаем данные пользователя
$sql = "SELECT * FROM users WHERE id = $userId";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$user = $result->fetch_assoc();
echo "<h1>Страница пользователя: " . htmlspecialchars($user['username']) . "</h1>";
// Отображение других данных пользователя...
} else {
echo "Пользователь не найден.";
}
$conn->close();
} else {
echo "ID пользователя не указан.";
}
```
### 4. Авторизация пользователя
Для авторизации пользователю нужно будет ввести свои учетные данные. При успешной авторизации можно использовать сессии для хранения информации о пользователе.
```php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
// Подключение к базе данных
$conn = new mysqli("localhost", "user", "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) {
$user = $result->fetch_assoc();
if (password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['id']; // Сохраняем ID пользователя в сессии
header("Location: /user.php?id=" . $user['id']);
exit();
} else {
echo "Неверный пароль.";
}
} else {
echo "Пользователь не найден.";
}
$conn->close();
}
```
### 5. Безопасность
Не забудьте о безопасности:
- Используйте подготовленные выражения для работы с базой данных, чтобы избежать SQL-инъекций.
- Хэшируйте пароли перед сохранением в базу данных (с использованием `password_hash`).
- Используйте сессии для хранения данных о пользователе.
### Заключение
Теперь у вас есть базовая структура для создания индивидуальных страниц для пользователей на вашем сайте. Вы можете расширять функциональность, добавляя больше данных и возможностей пользователям, например, возможность редактирования профиля или загрузки изображений.