IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Reply to this topicStart new topic
> нужна помощь по PHP
Эроласт
сообщение 29 Nov 2016, 20:41 (Сообщение отредактировал Эроласт - 29 Nov 2016, 20:45)
Сообщение #21

Зануда
Сообщений: 2 236
Спасибо сказали: 2894 раза




Код
<?php
$images = is_array($_POST['image']) ? $_POST['image'] : array(); // Записываем данные из запроса в переменную. Если данных нет, инициализируем переменную пустым массивом.

$emailTo = "woggrad@yandex.ru"; // Адрес отправки
$subject = "Выбранные изображения"; // Заголовок письма
$message = implode("<br>", $images); // Содержимое письма

$headers = "";
$headers .= "Content-Type: text/html; charset=utf-8\r\n"; // Устанавливаем тип содержимого и кодировку
$headers .= "From: MySite <$emailTo>\r\n"; // Устанавливаем адрес отправителя (необязательно, но без адреса может в спаме очутиться - надо пробовать)
$headers .= "Reply-To: $emailTo\r\n"; // Адрес, по которому можно писать ответ на письмо (опять же теоретически необязательно)

mail($emailTo, $subject, $message, $headers); // Отправляем письмо


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 29 Nov 2016, 20:49
Сообщение #22

Князь Бореи
Сообщений: 5 171
Спасибо сказали: 1349 раз




можно кстати в файл все это добро записывать
$arrs = $_POST['image'];
foreach($arrs as $value){
file_put_contents('file.txt', $value."\n", FILE_APPEND);
}

ВСЁ!!! Работает!!! вроде...

Эроласт и t800 - огромнейшее спасибище!!!
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 01 Dec 2016, 13:51 (Сообщение отредактировал izrukvruki - 01 Dec 2016, 13:51)
Сообщение #23

Князь Бореи
Сообщений: 5 171
Спасибо сказали: 1349 раз




В конечном итого я сделал, чтоб файл генерировался на сервере, а на почту шла ссылка на этот файл:

Код
<?php
$name= $_POST['name'];
$email= $_POST['email'];

$arr = $_POST['image'];
$str = '';
$path=date('YmdHi').'_'.$name.'.txt';
$path1='http://book-let.ru/img/'.$path;
foreach($arr as $key => $val)
{$str .= $val."\r\n";}
file_put_contents($path, $str, FILE_APPEND);

$emailTo = "woggrad@yandex.ru"; // Адрес отправки
$subject = "Выбранные изображения"; // Заголовок письма
$message = $name."<br>".$email."<br>".$path1; // Содержимое письма

$headers = "";
$headers .= "Content-Type: text/html; charset=utf-8\r\n"; // Устанавливаем тип содержимого и кодировку
$headers .= "From: MySite <$emailTo>\r\n"; // Устанавливаем адрес отправителя (необязательно, но без адреса может в спаме очутиться - надо пробовать)
$headers .= "Reply-To: $emailTo\r\n"; // Адрес, по которому можно писать ответ на письмо (опять же теоретически необязательно)

mail($emailTo, $subject, $message, $headers); // Отправляем письмо
?>

Плюс написал в CorelDraw макрос, который на основе этого файла делает многостраничный коллаж, сохраняет в PDF
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 27 Dec 2016, 11:42
Сообщение #24

Князь Бореи
Сообщений: 5 171
Спасибо сказали: 1349 раз




Помогите пожалуйста мне еще маленько!!!

Был добавлен блок - который отображает стоимость выбранных картинок. 50 рублей за 16 картинок.
<div class='p_right'>Стоимость: <span id='stoim'>0</span> руб.</div>
и в скрипт добавлен код подсчета
var delen = 50*Math.ceil(count/16);
$("#stoim").html(delen);

Мне еще нужно отследить некоторые избранные картинки (стоимость которых более высокая), их будет немного, имя их тоже знаю (pole.jpg и rub.jpg), если будет проще (чтоб они не считались в штучечной массе) - то можно их из отдельного каталога грузить, не из /img. Если эта картинка отмечена, то stoim увеличить на 100 р. для pole.jpg и 50 р. rub.jpg.

Код генерации страницы сейчас такой:
Код
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Таблица из картинок</title>
    <link rel="stylesheet" href="style.css">
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
    $(function() {
        var offset = $("#fixed").offset();
        var topPadding = 15;
        $(window).scroll(function() {
            if ($(window).scrollTop() > offset.top) {
                $("#fixed").stop().animate({marginTop: $(window).scrollTop() - offset.top + topPadding});
            }
            else {$("#fixed").stop().animate({marginTop: 0});};});
    });
</script>
  </head>
  <body>
     <?php
      $dir = 'img/'; // Папка с изображениями
      $files = scandir($dir); // Берём всё содержимое директории
      echo "<div class='right'> <div id='fixed'><div class='small'>Оптимально выбирать кол-во карт кратно 16</div><div>Изображений <br>выбрано: <span id='counter'>0</span></div><div class='p_right'>Стоимость: <span id='stoim'>0</span> руб.</div></div></div>";
      echo "<div class='wrapper'>";
      echo "<img src='images/sl1.jpg'><br>";
      echo "<form method='post' id='contact-form'>";
      echo "<label>Ваше имя: </label><input type='text' id='name' name='name' placeholder='Введите ваше имя' required='required' />";
      echo "<label>Ваша электронная почта: </label><input type='email' id='email' name='email' placeholder='Введите ваш электронный адрес' required='required' />";
      for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
        if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
          echo "<div class='img'>"; // Начинаем столбец
          $path = $dir.$files[$i]; // Получаем путь к картинке
          echo "<img src='$path' alt='$files[$i]' width='125px' height='175px'/>"; // Вывод превью картинки
          echo "<br><input type='checkbox' name='image[]' value='$files[$i]' class='check-image-input'/>";
          echo "</div>"; // Закрываем столбец
        }
      }
      echo "<br><button type='submit'>Отправить</button>";
      echo "</form>";
      echo "</div>";
    ?>
    <script src="http://yandex.st/jquery/1.9.1/jquery.js"></script>
    <script>
      $("#contact-form").on("submit", function(event) {
        event.preventDefault();
        var msg = $('#contact-form').serialize();
        
        $.ajax({
          type: 'POST',
          url: 'send_form.php',
          data: msg,
          success: function (data) {
            alert('Сообщение отправлено');
            setTimeout(function () {
              $('.feedback_form_bg').fadeOut();
            }, 1000);
          },
          error: function (xhr, str) {
            alert('Возникла ошибка!');
            setTimeout(function () {
              $('.feedback_form_bg').fadeOut();
            }, 1000);
          }
        });
      });

      $(".check-image-input").on("change", function() {
        var count = $(".check-image-input:checked").length;
        $("#counter").html(count);
        var delen = 50*Math.ceil(count/16);
        $("#stoim").html(delen);
      });
      
    </script>
    <footer>Настольная игра Hearthstone - <a href="https://vk.com/desktophearthstone" target="_blank">https://vk.com/desktophearthstone</a> </footer>
  </body>
</html>
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 27 Dec 2016, 12:32 (Сообщение отредактировал t800 - 27 Dec 2016, 12:33)
Сообщение #25

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Думаю надо надо ввести переменную Cena для каждой из картинок и складывать но ней,
а значение ей присваивать по правилу if $path <> '/img' cena = '50' else cena = '100' как то так одним словом.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 28 Dec 2016, 12:25
Сообщение #26

Князь Бореи
Сообщений: 5 171
Спасибо сказали: 1349 раз




все сделал.
Go to the top of the pageAdd Nick
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28 March 2024 - 21:30
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика