Advertisement
Guest User

Untitled

a guest
Jan 15th, 2016
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. <html>
  2. <head>
  3.  
  4. <!-- ДОБАВЛЯЕМ БУТСТРАП НАЧАЛО -->
  5.  
  6. <!-- Latest compiled and minified CSS -->
  7. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
  8. integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
  9.  
  10. <!-- Optional theme -->
  11. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css"
  12. integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
  13.  
  14. <!-- Latest compiled and minified JavaScript -->
  15. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
  16. integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
  17.  
  18. <!-- ДОБАВЛЯЕМ БУТСТРАП КОНЕЦ -->
  19.  
  20. <!-- стиль записи в нашей гостевой НАЧАЛО -->
  21. <style>
  22. .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; }
  23. </style>
  24. <!-- стиль записи в нашей гостевой КОНЕЦ -->
  25.  
  26. </head>
  27.  
  28. <!-- форма ввода записи в гостевую книгу - начало -->
  29. <body>
  30.  
  31. <div class="col-xs-3">
  32. <form class="form-group" method="POST"> <!-- метод - POST -->
  33. <label for="name">Name</label>
  34. <input type="text" name="guestName">
  35. <textarea name="POST" class="form-control" placeholder="your post"></textarea>
  36. <input type="submit">
  37. </form>
  38. </div>
  39. <!-- форма ввода записи в гостевую книгу - конец -->
  40.  
  41. <?php
  42. // Пользователь БД
  43. $user = 'root';
  44. // пароль - пустой тк это локалхост
  45. $password = '';
  46.  
  47. // хост - адрес сервера базы данных в сети, в данном случае - наша машина
  48. $host = '127.0.0.1';
  49.  
  50. // порт - двери tcp соеденения, вебсервер использует 80 а в данном случае mysql база данных использует 3306
  51. $port = 3306;
  52. // имя базы данных - то место, где мы будем хранить данные
  53. $dbname = 'guestbook';
  54.  
  55. // ф-ция mysqli_connect - подключается к базе данных и возращает идентификатор подключения (обьект).
  56. // в дальнейшем все взаимодействия с базой делаются через этот обьект подключения
  57.  
  58. $dbConnection = mysqli_connect(
  59. $host,
  60. $user,
  61. $password,
  62. $dbname,
  63. $port);
  64.  
  65.  
  66. // название нашей таблицы в БД
  67. $tableName = 'posts';
  68. // формируем запрос который говорит базе "дай-ка мне все записи из таблцы такой-то"
  69. $query = 'SELECT * FROM '.$tableName.'';
  70. // выполняем запрос в базу - результат сохраняем
  71. $result = mysqli_query($dbConnection, $query);
  72.  
  73.  
  74.  
  75. // сохраняем данных от пользователя в переменных
  76. $guestName = $_POST['guestName'];
  77. $guestPost = $_POST['POST'];
  78.  
  79. // если пользователь что-то нам отослал, то
  80. if(!empty($_POST)){
  81.  
  82. // ВСТАВЛЯЕМ В БАЗУ ДАННЫХ - НАЧИНАЕМ
  83. // формируем запрос для вставки
  84. $insertQuery = 'INSERT INTO '.$tableName.' VALUES
  85. (NULL, "'.$guestName.'",
  86.  
  87. "'.$guestPost.'", NULL)';
  88.  
  89. // выполняем запрос в БД
  90. $insertResult = mysqli_query($dbConnection, $insertQuery);
  91.  
  92. // если запрос вернул TRUE то выводим сообщение пользователю
  93. if($insertResult) {
  94. echo " Thanks ! Inserted succesfully ! <br> " ;
  95. }
  96. // иначе выводим текст ошибки
  97. else {
  98. echo mysqli_error($dbConnection);
  99. }
  100.  
  101. // ЗАКОНЧИЛИ ВСТАВЛЯТЬ В БАЗУ ДАННЫХ
  102.  
  103. }
  104.  
  105. // Теперь выводим записи из базы данных по очереди.
  106. // Функция mysqli_fetch_array принимает аргументом результат выполнения запроса который возврашает ф-ция mysqli_query и
  107. // возвращает одну еденицу данных за раз, в дальнешейм "ряд",
  108. // иначе возвращает FALSE если данных больше нет (условно)
  109.  
  110. // Вначале инициализируем переменную и условно назначим ей значение true, чтобы наш цикл запустился.
  111. $row = true;
  112.  
  113.  
  114. // цикл будет выполнятся до тех пор пока $row будет любым значением которое будет преоборазовыватся в TRUE
  115. // тоесть
  116. // пока еще есть данные которые еще не были выбраны из результата запроса в базу.
  117. // как только данные закончатся mysqli_fetch_array вернет false или -1 и цикл завершит работу
  118. while ($row) {
  119.  
  120. // НАЧАЛО ТЕЛА ЦИКЛА
  121. // делаем выборку данных из результата выполнения запроса в базу
  122. $row = mysqli_fetch_array($result, MYSQL_ASSOC); // MYSQL_ASSOC - константа
  123.  
  124. // для понятности присваиваем значения из массива $_POST в удобно-читаемые переменные
  125. $userPost = $row;
  126. $userName = $userPost['name'];
  127. $userText = $userPost['post'];
  128.  
  129. // данные сохранены в понятных для человека перменных и можно обернуть их в html
  130. // для этого закрываем PHP код
  131. ?>
  132. <!-- и начинаем html код -->
  133. <!-- Созданим блок html для записи, и заполним его данными которые получили в PHP выше -->
  134. <div class="col-xs-6 postContainer">
  135. <div class="title"><?php echo $userName; ?></div>
  136. <div class="post"><?php echo $userText; ?></div>
  137. </div>
  138. <!-- закончим вывод html блока -->
  139. <?php
  140. // КОНЕЦ ТЕЛА ЦИКЛА
  141.  
  142. }
  143.  
  144. ?>
  145. </body>
  146. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement