Как сохранить значение флажка как да в MySql База данных - PHP - PullRequest
0 голосов
/ 30 мая 2020

Итак, когда пользователь создает учетную запись, и они должны установить флажок, чтобы продолжить, что работает, но как мне сохранить, что они ее приняли (даже если они не могут создать учетную запись, не приняв этого). Но мы все равно хотим сохранить его.

Флажок

<input type="checkbox" name="agree" value="accepted">

PHP

if ($_POST['agree'] != 'accepted') {
             $error[] = 'Please indicate that you have read and agree to the Terms and Conditions and Privacy Policy';
    } else {
            $stmt = $db->prepare('SELECT termsAccepted FROM members WHERE termsAccepted = :??????');
    $stmt->execute(array(':??????' => $?????));
    $row = $stmt->fetch(PDO::FETCH_ASSOC);

    }

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Если флажок не установлен, в переменной $_POST не будет индекса agree, поэтому проверьте его наличие заранее, чтобы предотвратить выдачу предупреждений в журнал.

После этого вы можете использовать Запрос UPDATE для изменения столбца termsAccepted в вашей таблице members .

псевдокод:

if (isset($_POST['agree']) && $_POST['agree'] == 'accepted') {
    $stmt = $db->prepare('UPDATE members SET termsAccepted=1 WHERE id = :user_id');
    $stmt->execute(array(':user_id' => $user_id));
}

Совет: если вы только сохраняете true или false, вы можете использовать тип данных TINYINT (1) или BOOLEAN для столбца termsAccepted , поскольку он хранит только два состояния.

0 голосов
/ 30 мая 2020

Вы можете сделать запрос if в своем запросе «else»

if ($_POST['agree'] == 'accepted') {
 $checkbox = "true";
} else {
 $checkbox = "false";
}

И затем вы можете добавить флажок $ в свой исполняемый массив, но вы должны пересмотреть подготовленный оператор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...