Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.39 KB | None | 0 0
  1. <?php
  2. // functions
  3.  
  4. /**
  5.  * Записывает сообщение в файл
  6.  *
  7.  * @param string $name
  8.  * @param string $message
  9.  * @param string $filename
  10.  */
  11. function saveMessageToFile($name, $message, $filename)
  12. {
  13.     $data = "$name,$message\n";
  14.     file_put_contents($filename, $data, 8);
  15. }
  16.  
  17. /**
  18.  * Читает файл и возвращает массив с сообщениями
  19.  *
  20.  * @param string $filename
  21.  *
  22.  * @return array
  23.  */
  24. function loadMessagesFromFile($filename)
  25. {
  26.     if (!file_exists($filename)) {
  27.         return [];
  28.     }
  29.  
  30.     $rows = file($filename);
  31.    
  32.     $result = [];
  33.     foreach ($rows as $row) {
  34.         if (empty($row) or $row == "\n") {
  35.             continue;
  36.         }
  37.  
  38.         $explode = explode(',', $row);
  39.         $result[] = [
  40.             'username' => $explode[0],
  41.             'message' => $explode[1]
  42.         ];
  43.     }
  44.  
  45.     return $result;
  46. }
  47.  
  48. // the code
  49.  
  50. $filename = 'data.txt';
  51. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  52.     saveMessageToFile($_POST['username'], $_POST['message'], $filename);
  53. }
  54.  
  55. $messages = loadMessagesFromFile($filename);
  56.  
  57. ?>
  58. <html>
  59. <head>
  60.     <title>Гостевая книга</title>
  61.     <style>
  62.         .container {
  63.             margin: 0 auto;
  64.             width: 70%;
  65.         }
  66.  
  67.         .messages-block {
  68.             border: solid 1px;
  69.             padding: 10px 5px;
  70.             background-color: #11ff8f;
  71.         }
  72.     </style>
  73.     <script>
  74.         console.log("123");
  75.     </script>
  76. </head>
  77. <body>
  78. <div class="container">
  79.     <h1>Гостевая книга</h1>
  80.     <h2>Сообщения</h2>
  81.     <div class="messages-block">
  82.         <?php
  83.         foreach ($messages as $item) {
  84.             echo "<p><b>{$item['username']}</b>: {$item['message']}</p>";
  85.         }
  86.         ?>
  87.     </div>
  88.     <h2>Добавить свое сообщение</h2>
  89.     <form method="post">
  90.         <div class="form-group">
  91.             <label for="username">Ваше имя:</label>
  92.             <input id="username" name="username" type="text">
  93.         </div>
  94.         <div class="form-group">
  95.             <label for="text">Текст сообщения:</label>
  96.             <input id="text" type="text" name="message">
  97.         </div>
  98.         <div class="form-group">
  99.             <button type="submit">Отправить сообщение</button>
  100.         </div>
  101.     </form>
  102. </div>
  103. </body>
  104. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement