В данном примере мы будем делать авторизацию на страницу изменения цен.
Создаем два файла - Страницу авторизации (change_price_login.php) и страницу на которую будет допуск по паролю (change_price.php).
change_price_login.php
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Редактирование цены</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
</head>
<body>
<style>
.title {
width: 1200px;
padding: 20px;
margin: auto;
text-align: center;}
p.text-success {
color: green;
font-size: 15px;
font-weight: 700;}
p.text-error {
color: red;
font-size: 15px;
font-weight: 700;}
.form {
width: 1200px;
padding: 20px;
margin: auto;}
.form label {
font-size: 15px;
font-weight: 700;}
@media (max-width: 1200px) {
.title {
width: 100%;}
.form {
width: 100%;}
}
</style>
<div class="title">
<h1 class="title-text">ВВЕДИТЕ ЛОГИН И ПАРОЛЬ</h1>
</div>
<div class="form">
<form action="/change_price.php" method="post">
<div class="mb-3">
<label for="user_login" class="form-label">ЛОГИН</label>
<input class="form-control" id="user_login" name="user_login" type="text">
</div>
<div class="mb-3">
<label for="user_password" class="form-label">ПАРОЛЬ</label>
<input class="form-control" id="user_password" name="user_password" type="password">
</div>
<button type="submit" class="btn btn-primary">ВОЙТИ</button>
</form>
</div>
</body>
</html>
change_price.php
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Редактирование цены</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
</head>
<body>
<style>
.title {
width: 1200px;
padding: 20px;
margin: auto;
text-align: center;}
p.text-success {
color: green;
font-size: 15px;
font-weight: 700;}
p.text-error {
color: red;
font-size: 15px;
font-weight: 700;}
.form {
width: 1200px;
padding: 20px;
margin: auto;}
.form label {
font-size: 15px;
font-weight: 700;}
@media (max-width: 1200px) {
.title {
width: 100%;}
.form {
width: 100%;}
}
</style>
<?php
$user_login = !empty($_POST['user_login'])?$_POST['user_login']:NULL;
$user_password = !empty($_POST['user_password'])?$_POST['user_password']:NULL;
$login = 'asd';
$password = 'zxc';
if($login === $user_login && $password === $user_password) {
?>
<?php
$db_host='localhost';
$db_name='db_name';
$db_user='db_user';
$db_pass='db_pass';
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
$mysqli->set_charset("utf8mb4");
if (isset($_POST['gold'])) {
$success = '<p class="text-success">Обновление цен прошло успешно!</p>';
if (($_POST['gold']) <= 0 || ($_POST['silver']) <= 0 || ($_POST['platinum']) <= 0 || ($_POST['palladium']) <= 0) {
$success = '<p class="text-error">Обновление цен не прошло,<br> в одном из полей было обноруженно нулевое или отрицательное значение!</p>';
} else {
$mysqli->query("UPDATE `modx_prices` SET `price` = " . $_POST['gold'] . " WHERE `modx_prices`.`id` = 1");
$mysqli->query("UPDATE `modx_prices` SET `price` = " . $_POST['silver'] . " WHERE `modx_prices`.`id` = 2");
$mysqli->query("UPDATE `modx_prices` SET `price` = " . $_POST['platinum'] . " WHERE `modx_prices`.`id` = 3");
$mysqli->query("UPDATE `modx_prices` SET `price` = " . $_POST['palladium'] . " WHERE `modx_prices`.`id` = 4");
}
}
?>
<div class="title">
<h1 class="title-text">СТРАНИЦА РЕДАКТРОВАНИЯ ЦЕН</h1>
<?php echo $success ?>
</div>
<?php
$result = $mysqli->query('SELECT * FROM `modx_prices`');
$i = 0;
while($row = $result->fetch_assoc())
{
$prices[$i]['id'] = $row['id'];
$prices[$i]['name'] = $row['name'];
$prices[$i]['price'] = $row['price'];
$i++;
}
//echo '<pre>'; print_r($prices); echo '</pre>';
//echo $prices[0]['price'] . '<br>';
?>
<div class="form">
<form action="" method="post">
<div class="mb-3">
<label for="gold" class="form-label">Золото</label>
<input type="number" oninput="this.value = Math.round(this.value);" class="form-control" id="gold" name="gold" value="<?php echo round($prices[0]['price']) ?>">
</div>
<div class="mb-3">
<label for="silver" class="form-label">Серебро</label>
<input type="number" oninput="this.value = Math.round(this.value);" class="form-control" id="silver" name="silver" value="<?php echo round($prices[1]['price']) ?>">
</div>
<div class="mb-3">
<label for="platinum" class="form-label">Платина</label>
<input type="number" oninput="this.value = Math.round(this.value);" class="form-control" id="platinum" name="platinum" value="<?php echo round($prices[2]['price']) ?>">
</div>
<div class="mb-3">
<label for="palladium" class="form-label">Палладий</label>
<input type="number" oninput="this.value = Math.round(this.value);" class="form-control" id="palladium" name="palladium" value="<?php echo round($prices[3]['price']) ?>">
</div>
<div class="mb-3" style="display: none;">
<label for="user_login" class="form-label">ЛОГИН</label>
<input class="form-control" id="user_login" name="user_login" type="text" value="<?php echo $user_login ?>">
</div>
<div class="mb-3" style="display: none;">
<label for="user_password" class="form-label">ПАРОЛЬ</label>
<input class="form-control" id="user_password" name="user_password" type="password" value="<?php echo $user_password ?>">
</div>
<button type="submit" class="btn btn-primary">Изменить</button>
</form>
</div>
<?php
} else {
?>
<div class="title">
<p class="text-error">Доступ запрещен, неверный логин или пароль!</p>
</div>
<?php
}
?>
</body>
</html>