Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Aeooe

Новачок
  
  • Публікації

    10
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Aeooe

  1. On 8/11/2020 at 8:08 PM, spectre said:
    
    if (isset($this->request->cookie['order'])) {
        foreach ($this->request->cookie['order'] as $name => $value) {
            setcookie("order[".$name."]", "", time() - 3600);
        }
    }

     

     

    Всем доброго времени суток!

     

    НЕА! не работает... =(

    При последующих обновлениях страницы массив order в COOKIE присутствует неизменный. PHP7.0 если что.

     

    Есть предположения почему?

  2. Легко удаляются эти куки:

    [username] => Andrey2
    [email] => Andrey2
    [phone] => Andrey2

     

    А массив order не отказ не хочет. =(

    Что-то с ним не так...

     

    Проблема видимо с удалением массивов в COOKIE.

     

    Как правильно удалять массив?

  3. 2 hours ago, chukcha said:

    хе

     

    Это в отправляете

     

     

    А это вы выводите с тем чем к вам пришли

     

    Это я понял. Но не понял, почему при последующем обновлении страницы COOKIE по прежнему приходят неизменными, т.е. сколько раз я бы не обновлял страницу (не делал setcookie('order', "", time() - 86400, '/');) всегда  выводятся одинаковый массив.

     

    Проанализировал заголовки запроса вкладки нетворк браузера.

     

    Response Headers:

    1. Connection:
      Keep-Alive
    2. Content-Encoding:
      gzip
    3. Content-Length:
      484
    4. Content-Type:
      text/html; charset=UTF-8
    5. Date:
      Mon, 10 Aug 2020 21:41:54 GMT
    6. Keep-Alive:
      timeout=5, max=100
    7. Server:
      Apache/2.4.18 (Ubuntu)
    8. Set-Cookie:
      OCSESSID=ad93c18b8f9c9f80d50259da1b; path=/
    9. Set-Cookie:
      language=ru-ru; expires=Wed, 09-Sep-2020 21:41:54 GMT; Max-Age=2592000; path=/; domain=thinklinkers.local
    10. Set-Cookie:
      order=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
    11. Vary:
      Accept-Encoding
    Request Headers:
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Accept-Encoding: gzip, deflate
    Accept-Language: en-US,en;q=0.9,ru;q=0.8
    Cache-Control: no-cache
    Connection: keep-alive
    Cookie: _ym_uid=15549136121045367742; _ym_d=1589552091; currency=RUB; language=ru; currency=USD; coockiesaccept=1; OCSESSID=ad93c18b8f9c9f80d50259da1b; language=ru-ru; PHPSESSID=gbr2g3e6qvr1pu35aq9cuiel10; order%5Bpromocode%5D=; order%5Bmessage%5D=; events%2Fmdm__master_data_marathon; order%5Bevent_name%5D=MDM%20%20Master%20Data%20Marathon%203PM%20CET%2C%20%2029th%20September%202020; username=Andrey2; order%5Bname%5D=Andrey2; email=Andrey2; order%5Bemail%[email protected]; phone=Andrey2; order%5Bphone%5D=%2B79009996565; order%5Btariff%5D=125
    Host: thinklinkers.local
    Pragma: no-cache
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1
     
    Что делаю не так?
     
    Куки, кстати, создаю при помощи jquery.cookie.js
  4. Всем доброго времени суток!

     

    Что-то не хватает знаний в вопросе удаления или обновления значений в COOKIE.

    1) В контроллере checkout/success нужно очестить(удалить) COOKIE['order']. Пробую вызывать функцию:

    setcookie('order', "", time() - 8086400, '/');

    2. Далее (по коду, в этом же контроллере checkout/success) делаю соответственно:

    $data['footer'] = $this->load->controller('common/footer');

    3. И в контроллере common/footer вывожу все COOKIE:

    print_r($this->request->cookie);

    4. В итоге прекрасно вижу массив COOKIE и параметр который хотел удалить:

    Array
    (
        [_ym_uid] => 15549136121045367742
        [_ym_d] => 1589552091
        [currency] => RUB
        [language] => ru
        [coockiesaccept] => 1
        [OCSESSID] => ad93c18b8f9c9f80d50259da1b
        [PHPSESSID] => gbr2g3e6qvr1pu35aq9cuiel10
        [order] => Array
            (
                [promocode] => 
                [message] => 
                [event_name] => MDM  Master Data Marathon 3PM CET
                [name] => Andrey2
                [email] => [email protected]
                [phone] => +79009996565
                [tariff] => 125
            )
    
        [username] => Andrey2
        [email] => Andrey2
        [phone] => Andrey2
    )

    Подскажите пожалуйста как правильно удалять COOKIE?

  5. Я понял что нужно *рулить в сторону*:

    spl_autoload_register('library');
    

    И теперь пытаюсь создать экземпляр класса кодом:

    $this->mail = new phpmailer\PHPMailer(true);
    

    Где файл c классом PHPMailer находится по пути: /system/library/mail/phpmailer/phpmailer.php

    Путь верный и spl_autloader выполнять код: include_once(modification($file));

    Модификаций нет.

     

    В ответ ошибка:

    Class 'Mail\phpmailer\PHPMailer' not found in

     

    Сам класс в файле phpmailer.php называется:

    class PHPMailer {
  6. Всем доброго времени суток!

     

    Столкнулся с проблемой нехватки теоретических знаний в ООП PHP.

    .

    Хочу переделать библиотеку Mail->smtp (library) - добавить туда phpmyadmin и заменить оригинальный код. 

    <?php
    namespace Mail;
    class Smtp {
       public $smtp_hostname;
       public $smtp_username;
       public $smtp_password;
       public $smtp_port = 25;
       public $smtp_timeout = 5;
       public $verp = false;
       public $mail = false;
       public $body = "";
       public $smtp_response = "";
        public function __construct() {
            require_once(DIR_SYSTEM.'/library/phpmailer/class.phpmailer.php'); //путь до класса phpmailer
            $this->mail = new PHPMailer(true);
            $this->mail->IsSMTP();
            $this->to = explode("\n", str_replace(array("\r\n", "\r"), "\n", trim($this->to)));
            if(!$this->sender){
                $this->sender = array_shift(explode('|',$this->config->get('config_name')));
            }
            if(!$this->subject){
                $this->subject = "";
            }
            if($this->text){
                $this->body = $this->text;
            }
            if($this->html){
                $this->body = $this->html;
            }
        }
        public function send() {
    
        }
    }

     

    Столкнулся с проблемой создания экземпляра класса:


    <b>Fatal error</b>:  Class 'Mail\PHPMailer' not found in <b>W:\domains\kristall.local\system\library\mail\smtp.php</b> on line <b>15</b><br />

     

    ВОПРОС:

    Как правильно инициализировать экземпляр класса PHPMailer внутри класса Mail в методе __construct?

     

  7. Покопался внимательно в БД и обнаружил:

    1) Таблица Event

    2) Настройку в админке index.php?route=marketplace/event

     

    Видимо здесь прописываются вызовы для событий(контроллеров, моделей). Верно?

     

    Судя по всему это и есть ответ на мой вопрос. Благодарю за внимание =)

    • +1 1
  8. Доброго времени суток!

     

    Столкнулся с непониманием в работе Opencart 3.

     

    При регистрации нового пользователя вызывается метод модели:

    $customer_id = $this->model_account_customer->addCustomer($this->request->post);
    

    При этом, после добавления пользователя в БД выполняется скрипт отправки E-mail письма. На при этом, в самом методе модели нет вызовов скриптов отправки E-mail

     

    Вопрос:

    Я не могу найти каким образом запускается скрипт отправки E-mail. В коде метода addCustomer модели нет обращений к методам бибилитеки Mail

    Видимо это запускается при помощи pre_action или post_action.

    Для меня не понятно как это работает? Где конфигурация для каких action запускать pre_action или post_action, если это они?

    Поясните пожалуйста что запускает отправку E-mail, как запускает и где настройка(запуск для метода модели) этого вызова?

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.