За последние 24 часа нас посетили 22502 программиста и 1048 роботов. Сейчас ищут 644 программиста ...

Функция которая сохроняет сообщения и вызов в случ успешной проверки, данных сообщения, помогите нов

Тема в разделе "PHP для новичков", создана пользователем Hlog, 28 июл 2021.

  1. Hlog

    Hlog Новичок

    С нами с:
    13 июл 2021
    Сообщения:
    18
    Симпатии:
    0
    Создать функцию, которая сохраняет сообщение, и вызывать ее, в случае успешной проверки данных сообщения, вот что имею но функцию создать не могу.
    PHP:
    1. <?php
    2. $message = trim($_POST['msg'] ?? null);
    3. $name = trim($_POST['name'] ?? null);
    4.  
    5. if(!empty($name) && !empty($message)) {
    6.    $file = fopen('chat.txt', 'a');
    7.  
    8.    $message = [
    9.      'name' => $name,
    10.      'message' => $message
    11.    ];
    12.  
    13.    fwrite($file, json_encode($message) . PHP_EOL);
    14.    fclose($file);
    15. }
    16.  
    17. header('Location: /index.php');
    18. ________________________________________________________________________________________
    19. <html>
    20.    <head>
    21.      <meta charset="utf-u8">
    22.    </head>
    23.      <title>
    24.        Otpravka Form
    25.      </title>
    26.        <body>
    27.        <form action="./form_data.php" enctype="multipart/form-data" method="post">
    28.         Login
    29.         <input name="name" type="text" maxlength="40" size="45" Value="Name">
    30.         <div>Инфо</div>
    31.         <div><textarea name="msg"></textarea></div>
    32.         <div><input type="submit" name="knpopka"></div>
    33.         Chat
    34.         <div>
    35.          <?php
    36.            $file = fopen('chat.txt', 'r');
    37.            while($line = fgets($file)) {
    38.            $message_data = json_decode($line, true);
    39.          
    40.          ?>
    41.            <div class="message">
    42.              <div class="name"><?php echo $message_data['name'];?></div>
    43.              <div class="text"><?php echo $message_data['message'];?></div>
    44.            </div>  
    45.          <?php
    46.            }
    47.            fclose($file);
    48.          ?>
    49.         </div>    
    50. </html>
     
    #1 Hlog, 28 июл 2021
    Последнее редактирование модератором: 28 июл 2021
  2. roboformation

    roboformation Активный пользователь

    С нами с:
    30 авг 2020
    Сообщения:
    162
    Симпатии:
    40
    Так оберните вот это грамотно, и будет вам функция
     
    Hlog нравится это.
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.236
    Адрес:
    там-сям
    @Hlog Оформляй код в ббкоды [php] [/php]
    Один раз поправлю за тебя, на следующий выпилю с форума
     
  4. Hlog

    Hlog Новичок

    С нами с:
    13 июл 2021
    Сообщения:
    18
    Симпатии:
    0
    понял, извините.
    --- Добавлено ---
    в том то и дело что не получается грамотно обернуть.=(
     
  5. roboformation

    roboformation Активный пользователь

    С нами с:
    30 авг 2020
    Сообщения:
    162
    Симпатии:
    40
    PHP:
    1. function add_msg($name, $message) {
    2. $file = fopen('chat.txt', 'a');
    3.    $message = [
    4.      'name' => $name,
    5.      'message' => $message
    6.    ];
    7.    fwrite($file, json_encode($message) . PHP_EOL);
    8.    fclose($file);
    9. }
    ?
     
    Hlog нравится это.
  6. Hlog

    Hlog Новичок

    С нами с:
    13 июл 2021
    Сообщения:
    18
    Симпатии:
    0
    так я делал но тогда запись в файл не происходит при отправки формы, у меня без функции все нормально отправляется но когда делаю функции нечего не происходит, не на экране не в самом файле текст что я ввожу в полях никуда не уходит.
     
  7. roboformation

    roboformation Активный пользователь

    С нами с:
    30 авг 2020
    Сообщения:
    162
    Симпатии:
    40
    PHP:
    1. function add_msg($name, $message) {
    2. $file = fopen('chat.txt', 'a');
    3.    $message = [
    4.      'name' => $name,
    5.      'message' => $message
    6.    ];
    7.    fwrite($file, json_encode($message) . PHP_EOL);
    8.    fclose($file);
    9. }
    10.     $message = trim($_POST['msg'] ?? null);
    11. $name = trim($_POST['name'] ?? null);
    12.  
    13. if(!empty($name) && !empty($message)) {
    14.    add_msg($name, $message);
    15. }
    16.  
    17. header('Location: /index.php');
    Вы что-то подобное написали в обработчике, и у вас не случилось добавления сообщения в файл?
     
    Hlog нравится это.
  8. Hlog

    Hlog Новичок

    С нами с:
    13 июл 2021
    Сообщения:
    18
    Симпатии:
    0
    спасибо запомощь, я совсем забіл прописать в
    PHP:
    1. if(!empty($name) && !empty($message)) {
    2.    add_msg($name, $message);
    я забыл про add_msg в if , спасибо большое тоже уже просто мой тупняк был, и я так долго над ним сидел :(