Введите дату, когда флажок установлен

Я пытаюсь сделать так, чтобы при установленном флажке он помещал сегодняшнюю дату в базу данных, я пытался использовать временную метку, но она ставит ее во все пробелы в столбце, я новичок в php Код, который я сделал, был таким:

<?php
            if (isset($_POST['Abate'])){
              $Abate = "Sim";
              $data=time();
              $DiaAbate= date("Y/m/d", $data);
          }
          else{
              $Abate = "Nao";
              $DiaAbate = "";
          }
          ?>

Поделитесь снимком экрана для вставленной записи. Это поможет решить проблему.

Basil 22.11.2022 11:26

«но он ставит его во все пробелы в столбце» - что вы имеете в виду?

CBroe 22.11.2022 11:53

Код, который вы показали, просто подготавливает некоторые данные, он не показывает нам, где вы на самом деле ВСТАВЛЯЕТЕ или ОБНОВЛЯЕТЕ записи.

CBroe 22.11.2022 11:53

Извините, это мой первый раз, когда я использую stackoverflow. Я не знал, как работают комментарии, часть кода, где вы вставляете данные в базу данных, выглядит так: (мне пришлось сократить код из-за ограничения символов)

Rodrigo Mendes 22.11.2022 12:30

$Уменьшить = $_POST['Уменьшить']; $DiaAbate = $_POST['DiaAbate']; $query = "ВСТАВИТЬ В ПК (Abate,DiaAbate) ЗНАЧЕНИЯ ('$Abate','$DiaAbate')"; $query_run = mysqli_query($con, $query); if ($query_run) { $_SESSION['status'] = "Вставлено успешно"; header("Расположение: indexx.php"); } else { $_SESSION['status'] = "Не вставлено"; header("Расположение: indexx.php"); }

Rodrigo Mendes 22.11.2022 12:32
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не включили структуру своей таблицы (оператор CREATE TABLE), поэтому я предположил, что у вас есть столбец DATE для хранения $DiaAbate. Я также предположил, что представленная дата находится в формате 22/11/2022. Если вы используете другой формат для значения даты POSTed, вам нужно будет изменить строку формата, переданную в DateTime::createFromFormat().

Ваш текущий код уязвим для SQL Injection , поскольку вы комбинируете свои статические строки с пользовательским вводом без какой-либо проверки. В простом примере ниже используется подготовленный оператор для запроса на вставку -

if (isset($_POST['Abate'])){
    $Abate = 'Sim';
    // create a date from the posted date string adn format it
    // see https://www.php.net/manual/en/datetime.createfromformat.php
    $DiaAbate = DateTime::createFromFormat('d/m/Y', $_POST['DiaAbate'])->format('Y-m-d');
} else {
    $Abate = 'Nao';
    $DiaAbate = null;
}

$query = 'INSERT INTO pc (Abate, DiaAbate) VALUES (?, ?)';
$query_run = mysqli_execute_query($con, $query, [$Abate, $DiaAbate]);

if ($query_run) {
    $_SESSION['status'] = 'Inserted Succesfully';
    header('Location: indexx.php');
} else {
    $_SESSION['status'] = 'Not Inserted';
    header('Location: indexx.php');
}

Другие вопросы по теме