• Как сделать так чтобы на почту приходил не текст, а изображение как вложенное?

    gogowq
    @gogowq
    Ozh domosh acha ozh
    Важно enctype="multipart/form-data"
    <form action="your_script.php" method="post" enctype="multipart/form-data">
      <input type="text" name="name" placeholder="Ваше Фамилия Имя Отчество" required>
      <input type="email" name="email" placeholder="Ваш e-mail" required>
      <input type="tel" name="phone" placeholder="Ваш телефон" required>
      <input type="number" name="age" placeholder="Ваш возраст" required>
      <select name="procedure" required>
        <option value="">Выберите процедуру</option>
        <option value="Procedure 1">Procedure 1</option>
        <option value="Procedure 2">Procedure 2</option>
        <option value="Procedure 3">Procedure 3</option>
      </select>
      <input type="file" name="file" id="file" required>
      <button type="submit">Отправить</button>
    </form>


    <?php
    if (isset($_POST['name']) && $_POST['name'] != "") {
      $name = $_POST['name'];
    } else {
      die("Не заполнено поле \"Ваше Фамилия Имя Отчество\"");
    }
    
    if (isset($_POST['email']) && $_POST['email'] != "") {
      $email = $_POST['email'];
    } else {
      die("Не заполнено поле \"Ваш e-mail\"");
    }
    
    // Проверяем, был ли файл загружен
    if (isset($_FILES['file']['tmp_name']) && $_FILES['file']['tmp_name'] != "") {
      // Получаем информацию о загруженном файле
      $file_name = $_FILES['file']['name'];
      $file_tmp = $_FILES['file']['tmp_name'];
      $file_type = $_FILES['file']['type'];
      $file_size = $_FILES['file']['size'];
    
      // Открываем файл и считываем его содержимое
      $file_content = file_get_contents($file_tmp);
    
      // Создаем границу для разделения различных частей письма
      $boundary = "--" . md5(uniqid(time()));
    
      // Создаем заголовок письма с указанием типа контента и границы
      $headers = "MIME-Version: 1.0\r\n";
      $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
      $headers .= "From: $email\r\n";
    
      // Формируем тело письма
      $message = "--$boundary\r\n";
      $message .= "Content-Type: text/plain; charset=UTF-8\r\n";
      $message .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
      $message .= "Фамилия Имя Отчество: $name\r\n";
      $message .= "E-mail: $email\r\n";
      // Остальные поля формы
      $message .= "--$boundary\r\n";
      $message .= "Content-Type: $file_type\r\n";
      $message .= "Content-Transfer-Encoding: base64\r\n";
      $message .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n";
      $message .= chunk_split(base64_encode($file_content));
      $message .= "--$boundary--";
    
      $subject = 'Анкета модели';
      $address = "ivashnev.nikita@mail.ru";
      $send = mail($address, $subject, $message, $headers);
    
      if ($send) {
        echo "Сообщение отправлено успешно!";
      } else {
        echo "Ошибка, сообщение не отправлено! Возможно, проблемы на сервере";
      }
    } else {
      die("Не заполнено поле \"Ваша фотография проблемной зоны\"");
    }
    ?>
    Ответ написан
    Комментировать
  • Как сделать так чтобы окно предупреждение о cookie после соглашения больше не показывалось?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    window.onload = () => {
    
      const popUp = document.getElementById('cookiePopup');
    
      function showPopup() {
        popUp.classList.add('show');
        popUp.classList.remove('hide');
      }
    
      function hidePopup() {
        popUp.classList.add('hide');
        popUp.classList.remove('show');
      }
    
      document.getElementById('acceptCookie').addEventListener('click', () => {
        localStorage.setItem('cookieAccepted', '1');
        hidePopup();
      });
    
      if (localStorage.getItem('cookieAccepted') === '1') {
        hidePopup();
      } else {
        showPopup();
      }
    
    };
    Ответ написан
    Комментировать
  • Как зашифровать пароль?

    NeiroNx
    @NeiroNx
    Программист
    В хрустальном шаре увидел что дело касается вводом пароля пользователя в текстовый бокс, читай декументацию:
    https://wiki.multitheftauto.com/wiki/GuiEditSetMasked
    Ответ написан
    1 комментарий