Загрузка...

Помогите с регистрацией

Тема в разделе Backend создана пользователем Dimi4da 31 мар 2023. 277 просмотров

  1. Dimi4da
    Dimi4da Автор темы 31 мар 2023 1 6 июл 2018
    Помогите починить код
    При регистрации вылезает ошибка:
    [IMG]
    БД
    [IMG]
    index.php
    PHP
    <?php
    require_once('db_connection.php');
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Shinato</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="main-style.css">
    </head>
    <body>
    <header>
    <div class="logo">
    <img src="logo.png" alt="Логотип">
    </div>
    <div class="info">
    <div class="hours">
    Часы работы: Пн-Пт, 9:00-18:00
    </div>
    <div class="phone">
    Телефон: +7 (999) 123-45-67
    </div>
    <div class="login">
    <a href="#" id="loginBtn">Вход в личный кабинет</a>
    </div>

    <?php
    session_start();

    if (isset($_POST['username']) && isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    // Здесь должен быть код для проверки логина и пароля в базе данных.
    // Если данные введены верно, то:
    $_SESSION['username'] = $username;
    header('Location: cabinet.php');
    exit;
    }
    ?>

    <!-- HTML-код для модального окна авторизации -->
    <div id="loginModal" class="modal">
    <div class="login-block">
    <span class="close">&times;</span>
    <h2>Вход</h2>
    <form action="login.php" method="post">
    <label for="username">Имя пользователя:</label>
    <input type="text" id="username" name="username" required>
    <label for="password">Пароль:</label>
    <input type="password" id="password" name="password" required>
    <button type="submit">Войти</button>
    </form>
    <p>Еще не зарегистрированы? <a href="#" class="register-link">Зарегистрируйтесь</a></p>
    </div>
    </div>



    <?php
    session_start();

    if (isset($_POST['register-username']) && isset($_POST['register-email']) && isset($_POST['register-password']) && isset($_POST['confirm-password'])) {
    $username = $_POST['register-username'];
    $email = $_POST['register-email'];
    $password = $_POST['register-password'];
    $confirm_password = $_POST['confirm-password'];

    // Здесь должен быть код для проверки уникальности логина и email в базе данных,
    // проверки соответствия пароля и подтверждения пароля.
    // Если данные введены верно, то:
    $_SESSION['username'] = $username;
    header('Location: cabinet.php');
    exit;
    }
    ?>

    <!-- HTML-код для модального окна регистрации -->
    <div id="registerModal" class="modal">
    <div class="register-block">
    <h2>Регистрация</h2>
    <form action="register.php" method="POST">
    <label for="register-username">Логин:</label>
    <input type="text" id="register-username" name="register-username" required>
    <label for="register-email">Email:</label>
    <input type="email" id="register-email" name="register-email" required>
    <label for="register-password">Пароль:</label>
    <input type="password" id="register-password" name="register-password" required>
    <label for="confirm-password">Подтвердите пароль:</label>
    <input type="password" id="confirm-password" name="confirm-password" required>
    <button type="submit">Зарегистрироваться</button>
    </form>
    <p>Уже есть аккаунт? <a href="#" class="login-link">Войти</a></p>
    </div>
    </div>



    </div>
    </header>
    <nav>
    <ul class="menu">
    <li><a href="index.html">Главная</a></li>
    <li><a href="news.html">Новости</a></li>
    <li><a href="#">Услуги</a></li>
    <li><a href="#">Статьи</a></li>
    <li class="dropdown">
    <a href="#">О нас</a>
    <ul>
    <li><a href="#">Достижения</a></li>
    <li><a href="#">Вопросы и ответы</a></li>
    <li><a href="#">Контакты</a></li>
    <li><a href="#">*********</a></li>
    </ul>
    </li>
    </ul>
    </nav>
    <main>
    <form action="search.php" method="get" class="search-form">
    <input type="text" name="query" placeholder="Поиск" class="search-input">
    <button type="submit" class="search-button">Найти</button>
    </form>

    <div class="slogan-container">
    <div class="slogan-image" style="background-image: url('img/1.png');"></div>
    <div class="slogan-text">
    <h2>Откройте мир вместе с нами!</h2>
    </div>
    </div>

    <div class="news-container">
    <div class="news-item">
    <img src="img/1.png" alt="Новость 1">
    <div class="news-text">
    <h3>Заголовок новости 1</h3>
    <p>Доброго утречка, мои зайчишки-шалунишки! Опять сонненькие, сладенькие котятки? Ну ка, давайте маленькие, просыпайтесь, мордочку умывульки, лапками потягульки-потягульки! Одну лапку подняли, другу лапку подняли — полетели, полетели, полетели, наааа головку сели. Какие вы у меня умнички, медвежатки ласковые, пингвинчики прямо ня, люблю вас всех, нежненькие мои, любименькие, лапками няшите игриво, лентюльки мои пушистенькие, вставать не хотите, глазки сонные, ушки маленькие, мордочкой кривите, а я вас обниму так нежненько, на коленочку посажу и к животику нежненько прижму, чтобы вы бурундчуки махонькие не мёрзли, мурлыкой фыркали приятно так, тёпленько в ладошку и хвостиками хитрили, как котятки смешнявые, ня воть :3</p>
    <a href="#">Читать далее</a>
    </div>
    </div>
    <div class="news-item mirrored">
    <img src="img/1.png" alt="Новость 2">
    <div class="news-text">
    <h3>Заголовок новости 2</h3>
    <p>Доброго утречка, мои зайчишки-шалунишки! Опять сонненькие, сладенькие котятки? Ну ка, давайте маленькие, просыпайтесь, мордочку умывульки, лапками потягульки-потягульки! Одну лапку подняли, другу лапку подняли — полетели, полетели, полетели, наааа головку сели. Какие вы у меня умнички, медвежатки ласковые, пингвинчики прямо ня, люблю вас всех, нежненькие мои, любименькие, лапками няшите игриво, лентюльки мои пушистенькие, вставать не хотите, глазки сонные, ушки маленькие, мордочкой кривите, а я вас обниму так нежненько, на коленочку посажу и к животику нежненько прижму, чтобы вы бурундчуки махонькие не мёрзли, мурлыкой фыркали приятно так, тёпленько в ладошку и хвостиками хитрили, как котятки смешнявые, ня воть :3</p>
    <a href="#">Читать далее</a>
    </div>
    </div>
    </div>

    <div class="advice-block">
    <h2>Советы и рекомендации для туристов</h2>
    <p>Планируете поездку в другую страну? Вот несколько советов, которые помогут сделать вашу поездку максимально комфортной и безопасной:</p>
    <ul>
    <li>Выберите отель, который соответствует вашим потребностям. Оцените расположение, уровень сервиса, наличие дополнительных услуг.</li>
    <li>Проверьте требования к визе и оформите ее заранее. Некоторые страны могут требовать дополнительных документов, таких как медицинская страховка или подтверждение бронирования.</li>
    <li>Изучите местные обычаи и правила поведения, чтобы не попасть в неприятную ситуацию.</li>
    <li>Не забудьте о медицинской страховке. В некоторых странах медицинские услуги могут быть очень дорогими.</li>
    <li>Соблюдайте правила безопасности и следуйте инструкциям местных властей. В некоторых странах может быть высокий уровень преступности или другие опасности.</li>
    </ul>
    </div>

    <div class="gallery">
    <img src="img/1.png" alt="Фото 1" onclick="openModal('img/1.png')">
    <img src="img/1.png" alt="Фото 2" onclick="openModal('img/1.png')">
    <img src="img/1.png" alt="Фото 3" onclick="openModal('img/1.png')">
    <img src="img/1.png" alt="Фото 4" onclick="openModal('iimg/1.png')">
    <img src="img/1.png" alt="Фото 5" onclick="openModal('img/1.png')">
    <img src="img/1.png" alt="Фото 6" onclick="openModal('img/1.png')">
    </div>

    <div id="myModal" class="modal">
    <div class="modal-content">
    <span class="close" onclick="closeModal()">&times;</span>
    <img id="modal-img">
    </div>
    </div>

    <div class="special-offers">
    <div class="special-offer">
    <img src="img/1.png" alt="Special Offer">
    <h3>Отдых в Таиланде</h3>
    <p>Специальное предложение на 7 дней от <span class="price">$799</span></p>
    <a href="#" class="btn">Забронировать</a>
    </div>
    <div class="special-offer">
    <img src="img/1.png" alt="Special Offer">
    <h3>Поездка в Италию</h3>
    <p>Специальное предложение на 10 дней от <span class="price">$1299</span></p>
    <a href="#" class="btn">Забронировать</a>
    </div>
    <div class="special-offer">
    <img src="img/1.png" alt="Special Offer">
    <h3>Отпуск в Египте</h3>
    <p>Специальное предложение на 5 дней от <span class="price">$599</span></p>
    <a href="#" class="btn">Забронировать</a>
    </div>
    </div>

    <div class="afisha">
    <img src="img/1.png" alt="Афиша">
    <div class="afisha-info">
    <h2>Концерт Ивана Дорна</h2>
    <p class="afisha-date">10 июня 2023</p>
    <p class="afisha-description">Не пропустите незабываемый концерт Ивана Дорна! Вас ждут самые яркие хиты и незабываемая атмосфера в зале "Олимпийский". Количество билетов ограничено, поспешите забронировать свой билет уже сегодня!</p>
    </div>
    </div>

    <div class="afisha">
    <img src="img/1.png" alt="Афиша">
    <div class="afisha-info">
    <h2>Концерт Ивана Дорна</h2>
    <p class="afisha-date">10 июня 2023</p>
    <p class="afisha-description">Не пропустите незабываемый концерт Ивана Дорна! Вас ждут самые яркие хиты и незабываемая атмосфера в зале "Олимпийский". Количество билетов ограничено, поспешите забронировать свой билет уже сегодня!</p>
    </div>
    </div>







    </main>
    <footer>
    <div class="container">
    <div class="footer-row">
    <div class="footer-col">
    <h3>Контакты</h3>
    <ul>
    <li><i class="fa fa-map-marker"></i> Адрес: ул. Примерная, 123, г.Москва</li>
    <li><i class="fa fa-phone"></i> Телефон: +7 (495) 123-45-67</li>
    <li><i class="fa fa-envelope"></i> Email: info@touragency.com</li>
    </ul>
    </div>
    <div class="footer-col">
    <h3>Навигация</h3>
    <ul>
    <li><a href="#">Главная</a></li>
    <li><a href="#">Туры</a></li>
    <li><a href="#">Акции</a></li>
    <li><a href="#">Отзывы</a></li>
    <li><a href="#">Контакты</a></li>
    </ul>
    </div>
    <div class="footer-col">
    <h3>Подписка</h3>
    <p>Подпишитесь на нашу рассылку и будьте в курсе последних новостей и акций:</p>
    <form>
    <input type="email" placeholder="Ваш email">
    <button type="submit">Подписаться</button>
    </form>
    </div>
    </div>
    </div>
    <div class="bottom-bar">
    <div class="container">
    <p>© 2023 TourAgency. Все права защищены.</p>
    <ul>
    <li><a href="#">Политика конфиденциальности</a></li>
    <li><a href="#">Условия использования</a></li>
    </ul>
    </div>
    </div>
    </footer>
    <script src="login.js"></script>
    <script src="album.js"></script>
    </body>
    </html>
    login.php
    PHP
    <?php

    session_start();

    if (isset($_POST['username']) && isset($_POST['password'])) {
    // Подключение к базе данных
    $db_host = 'localhost';
    $db_name = 'SHINATOV3';
    $db_user = 'root';
    $db_pass = '';

    $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);

    if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
    }

    // Получение данных из формы
    $username = $_POST['username'];
    $password = $_POST['password'];

    // Поиск пользователя в базе данных
    $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
    $result = mysqli_query($conn, $query);

    if (mysqli_num_rows($result) == 1) {
    // Авторизация прошла успешно
    $_SESSION['username'] = $username;
    header('Location: cabinet.php');
    } else {
    // Ошибка авторизации
    header('Location: index.php?error=1');
    }

    mysqli_close($conn);
    }

    ?>
    register.php
    PHP
    <?php

    session_start();

    if (isset($_POST['register-username']) && isset($_POST['register-email']) && isset($_POST['register-password']) && isset($_POST['confirm-password'])) {
    // Подключение к базе данных
    $db_host = 'localhost';
    $db_name = 'SHINATOV3';
    $db_user = 'root';
    $db_pass = '';

    $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);

    if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
    }

    // Получение данных из формы
    $username = $_POST['register-username'];
    $email = $_POST['register-email'];
    $password = $_POST['register-password'];
    $confirm_password = $_POST['confirm-password'];

    // Проверка на совпадение паролей
    if ($password != $confirm_password) {
    header('Location: index.php?error=2');
    } else {
    // Проверка на уникальность логина и email
    $query = "SELECT * FROM users WHERE username='$login' OR email='$email'";
    $result = mysqli_query($conn, $query);

    if (mysqli_num_rows($result) > 0) {
    header('Location: index.php?error=3');
    } else {
    // Регистрация нового пользователя
    $query = "INSERT INTO users (login, email, password, date_registration) VALUES ('$username', '$email', '$password', NOW())";
    $result = mysqli_query($conn, $query);

    if (!$result) {
    die("Query failed: " . mysqli_error($conn));
    }

    $_SESSION['username'] = $username;
    header('Location: cabinet.php');
    }
    }

    mysqli_close($conn);
    }

    ?>




    db_connection.php
    PHP
    <?php
    // Данные для подключения к базе данных
    define('SERVER','localhost');
    define('DB_NAME','SHINATOV3');

    // Создание соединения с базой данных
    $conn= mysqli_connect(SERVER,'root','',DB_NAME);

    // Проверка соединения
    if (!$conn) {
    die("Ошибка соединения: " . mysqli_connect_error());
    }


    // Получение данных об уровне доступа
    function get_user_access_level($username) {
    global $conn;
    $query = "SELECT access_level FROM users WHERE username = '$username'";
    $result = mysqli_query($conn, $query);
    if ($result && mysqli_num_rows($result) > 0) {
    $row = mysqli_fetch_assoc($result);
    return $row['access_level'];
    }
    return false;
    }

    // Получения данных по почте
    function get_user_email($username) {
    global $conn;
    $query = "SELECT email FROM users WHERE username = '$username'";
    $result = mysqli_query($conn, $query);
    if ($result && mysqli_num_rows($result) > 0) {
    $row = mysqli_fetch_assoc($result);
    return $row['email'];
    }
    return false;
    }
    ?>
     
    1. justokprog
      31 мар 2023 Изменено
  2. ChatGPT
    ChatGPT 31 мар 2023 2250 14 мар 2023
    Dimi4da, Sorry I couldn't contact the ChatGPT think tank :(
     
    1. СатанаПечётБлины
      ChatGPT, ты единственный кто бы мог уме помочь.
  3. xmka
    xmka 31 мар 2023 26 8 фев 2019
    Так тебе же в ошибке пишет, что у тебя что-то не то с ID
     
  4. s0ftw4r8
    s0ftw4r8 2 апр 2023 :shreklol: 334 31 авг 2018
    База кривая
    У тебя в колонке id нет примари кея(значения по дефолту)
    И ты его не передаёшь, вот и ошибка
    --- Сообщение объединено с предыдущим 2 апр 2023
    Благодарность принимается на карту/****/почтовым голубем/банкой редбула
     
    1. mmmmiiiiiiiad
      s0ftw4r8, говори адрес, отправлю голубем
Загрузка...
Top