Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <!-- ДОБАВЛЯЕМ БУТСТРАП НАЧАЛО -->
- <!-- Latest compiled and minified CSS -->
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
- integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
- <!-- Optional theme -->
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css"
- integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
- <!-- Latest compiled and minified JavaScript -->
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
- integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
- <!-- ДОБАВЛЯЕМ БУТСТРАП КОНЕЦ -->
- <!-- стиль записи в нашей гостевой НАЧАЛО -->
- <style>
- .postContainer { width: 300px; border: 1px solid black; padding: 10px; margin: 20px; } .title { width: 100%; border-bottom: 1px solid black; } .post { width: 100%; height: 200px; padding: 30px; }
- </style>
- <!-- стиль записи в нашей гостевой КОНЕЦ -->
- </head>
- <!-- форма ввода записи в гостевую книгу - начало -->
- <body>
- <div class="col-xs-3">
- <form class="form-group" method="POST"> <!-- метод - POST -->
- <label for="name">Name</label>
- <input type="text" name="guestName">
- <textarea name="POST" class="form-control" placeholder="your post"></textarea>
- <input type="submit">
- </form>
- </div>
- <!-- форма ввода записи в гостевую книгу - конец -->
- <?php
- // Пользователь БД
- $user = 'root';
- // пароль - пустой тк это локалхост
- $password = '';
- // хост - адрес сервера базы данных в сети, в данном случае - наша машина
- $host = '127.0.0.1';
- // порт - двери tcp соеденения, вебсервер использует 80 а в данном случае mysql база данных использует 3306
- $port = 3306;
- // имя базы данных - то место, где мы будем хранить данные
- $dbname = 'guestbook';
- // ф-ция mysqli_connect - подключается к базе данных и возращает идентификатор подключения (обьект).
- // в дальнейшем все взаимодействия с базой делаются через этот обьект подключения
- $dbConnection = mysqli_connect(
- $host,
- $user,
- $password,
- $dbname,
- $port);
- // название нашей таблицы в БД
- $tableName = 'posts';
- // формируем запрос который говорит базе "дай-ка мне все записи из таблцы такой-то"
- $query = 'SELECT * FROM '.$tableName.'';
- // выполняем запрос в базу - результат сохраняем
- $result = mysqli_query($dbConnection, $query);
- // сохраняем данных от пользователя в переменных
- $guestName = $_POST['guestName'];
- $guestPost = $_POST['POST'];
- // если пользователь что-то нам отослал, то
- if(!empty($_POST)){
- // ВСТАВЛЯЕМ В БАЗУ ДАННЫХ - НАЧИНАЕМ
- // формируем запрос для вставки
- $insertQuery = 'INSERT INTO '.$tableName.' VALUES
- (NULL, "'.$guestName.'",
- "'.$guestPost.'", NULL)';
- // выполняем запрос в БД
- $insertResult = mysqli_query($dbConnection, $insertQuery);
- // если запрос вернул TRUE то выводим сообщение пользователю
- if($insertResult) {
- echo " Thanks ! Inserted succesfully ! <br> " ;
- }
- // иначе выводим текст ошибки
- else {
- echo mysqli_error($dbConnection);
- }
- // ЗАКОНЧИЛИ ВСТАВЛЯТЬ В БАЗУ ДАННЫХ
- }
- // Теперь выводим записи из базы данных по очереди.
- // Функция mysqli_fetch_array принимает аргументом результат выполнения запроса который возврашает ф-ция mysqli_query и
- // возвращает одну еденицу данных за раз, в дальнешейм "ряд",
- // иначе возвращает FALSE если данных больше нет (условно)
- // Вначале инициализируем переменную и условно назначим ей значение true, чтобы наш цикл запустился.
- $row = true;
- // цикл будет выполнятся до тех пор пока $row будет любым значением которое будет преоборазовыватся в TRUE
- // тоесть
- // пока еще есть данные которые еще не были выбраны из результата запроса в базу.
- // как только данные закончатся mysqli_fetch_array вернет false или -1 и цикл завершит работу
- while ($row) {
- // НАЧАЛО ТЕЛА ЦИКЛА
- // делаем выборку данных из результата выполнения запроса в базу
- $row = mysqli_fetch_array($result, MYSQL_ASSOC); // MYSQL_ASSOC - константа
- // для понятности присваиваем значения из массива $_POST в удобно-читаемые переменные
- $userPost = $row;
- $userName = $userPost['name'];
- $userText = $userPost['post'];
- // данные сохранены в понятных для человека перменных и можно обернуть их в html
- // для этого закрываем PHP код
- ?>
- <!-- и начинаем html код -->
- <!-- Созданим блок html для записи, и заполним его данными которые получили в PHP выше -->
- <div class="col-xs-6 postContainer">
- <div class="title"><?php echo $userName; ?></div>
- <div class="post"><?php echo $userText; ?></div>
- </div>
- <!-- закончим вывод html блока -->
- <?php
- // КОНЕЦ ТЕЛА ЦИКЛА
- }
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement