@ruslite

Как добавить в БД при отправке сообщени?

Отправляю сообщение на емаил,

if ($_SERVER["REQUEST_METHOD"] == "POST") {
...
if (mail($recipient, $subject, $email_content, iconv ('utf-8', 'windows-1251', $email_headers))) {
            // Set a 200 (okay) response code.
            http_response_code(200);
            echo 'Успех';

        } else {
            // Set a 500 (internal server error) response code.
            http_response_code(500);
            echo 'Ошибка';
        }
но не получается после отправки обновить в БД данные, как я понимаю это связано с тем, чтобы не было sql инъекций. Как можно отправить сообщение и работать с бд?
// Вставлял как после echo 'Успех';
//Также после всего условия отправки сообщения
$wpdb->update('wp_schedule_quests', array(
                'book' => 1,
            ),
            array('id'=>'414'));
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
но не получается после отправки обновить в БД данные

Прям так и пишет? "не получается чет вставить данные"? Обычно есть такие штуки - при ошибках появляются буковки, там написано что случилось и почему это случилось. Если их нет на экране - надо смотреть логи сервера, там тоже бывают буковки. А подземные стуки - это к экстрасенсам.
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
А вы все делаете неправильно, изначально.
Во-первых, используйте wp_mail() вместо mail().
Во-вторых, ловите POST на хуке init и там уже обрабатывайте данные, сейчас непонятно в какой момент вы пытаетесь работать с базой и в каком состоянии находится environment.
В третьих, зачем тут http_response_code()?
В четвертых, почему id у вас в WHERE стал строчным значением?
Таблица в БД, я так понимаю, у вас кастомная?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы