Ответы пользователя по тегу PHP
  • Как исправить ошибку csrf Symfony при выходе из аккаунта?

    grisha_sychev
    @grisha_sychev Автор вопроса
    Если у вас такая ошибка, проверьте нет ли у вас файлов где указан старт сессии: session_start(), удалите его, даже если он используется в тех файлах, где вы не используете его для проекта.
    Ответ написан
    Комментировать
  • Как убрать заголовки html.twig при получении сообщения от PHPMailer?

    grisha_sychev
    @grisha_sychev Автор вопроса
    Проблема решена, что бы таких проблем не было, лучше использовать для этого Symfony/Mailer, он поддерживает нормально шаблонизатор Twig.
    Ответ написан
    Комментировать
  • Как исправить кодировку, чтобы в базе данных русское слово отображалось нормально?

    Здравствуйте, при создании таблицы базы данных вы возможно указали неверное Сравнение, вам нужно указать его как либо utf8_general_ci, либо более "расширенную" версию utf8mb4_general_ci.

    Желательно указать Сравнение как в самой таблице так и в строке.
    Ответ написан
    Комментировать
  • Не работает система профилей?

    Приветствую, не знаю как у вас там написаны классы, полагаю, что дело в том что вы не правильно сделали сравнение, вместо '=' нужно было указать '===' , речь про второй блок.

    <? if($user_name):?>
            <div class = "user_info">
                <div class = "avatar"></div>
                <h1 class = "name"><?= $user_name ?></h1>
                <h3 class = "likes"><?= 'Ты залётный сыч' ?></h3>
            <? elseif($account_name === $_SESSION['name']): ?>
                <div class = "avatar"></div>
                <h1 class = "name"><?= $account_name ?></h1>
                <h3 class = "likes"><?= 'Вы хозяин' ?></h3>
            <? endif;?>


    Вообще, рекомендую смотреть ошибки, там явно указана строка ошибки.
    Ответ написан
    Комментировать
  • Как записать запрос на добавление массива из input в базу данных?

    Добрый день, в первую очередь хочется сказать, что в базу данных на подобии MySQL записать массивы нельзя, только строки или json.

    Если говорить, о том, что вы хотите вообще данные занести, а потом их вывести, как массив, то такое сделать можно.
    Что хочется сказать, вам стоит понять, как надо работать с базой данных, советую использовать PDO и подготовленные запросы.

    Сам пример кода

    В вашем файле подключения рекомендую сделать так:
    try {
    
       $connect = new PDO('mysql:host=localhost;dbname=a0634339_base;charset=utf8', 'root', 'a0634339_base');
    
    } catch (\Exception $error) {
    
       echo "Error connect to DataBase:" . $error->getMessage();
       die();
    
    }


    В основном файле выглядеть должно примерно так:

    require_once '../vendor/connect.php';
    
    $name = $_POST['name'];
    $price = $_POST['price'];
    $quantity = $_POST['quantity'];
    
    
    $sql = "INSERT INTO `zakaz` (`name`,`price`, `quantity`) VALUES (:name, :price, :quantity)"; // тут вы допустили ошибку, писали слово INSERT нижним регистром, одна из причин почему у вас запрос не работал.
    
    $params = [
      "name" => $name,
    
      "price" => $price,
    
      "quantity" => $quantity
    ];
    
    $connect->prepare($sql)->execute($params);
    
    // дальше идем, что бы взять информацию из бд и вывести ее как массив.
    
    $sth = $connect->prepare("SELECT * FROM `zakaz` WHERE `name` = :name");
    
    $params = [
      "name" => $name
    ];
    
    $sth->execute($params);
    
    $array = $sth->fetchAll(PDO::FETCH_ASSOC);
    
    var_dump($array[0]); // полагаю вы хотели получить это
    Ответ написан
    Комментировать