Как сохранить изменения для флажка, который реализует уведомление по электронной почте?
Вопрос
На моем сайте пользователь получает уведомления по электронной почте, когда кто-то комментирует его профиль или блог и т. д. Я создал страницу настроек электронной почты, на которой есть флажки, позволяющие пользователю решать, получать электронные письма или нет.
Это то, что я оборачиваю в фрагмент кода уведомления по электронной почте для страниц, на которых есть почта PHP:
<?php if(isset($_POST['email_toggle']) && $_POST['email_toggle'] == 'true') { if(isset($_POST['commentProfileSubmit']) && $auth) {
$query etc
$to = etc
}
}
Мой вопрос: что мне добавить в сценарий настроек электронной почты, в котором есть фактические флажки, чтобы они оставались отмеченными или снятыми после отправки настроек?Другими словами, что мне добавить в часть if(isset для реализации изменений?
if(isset($_POST['email_toggle']) && $_POST['email_toggle'] == 'true') {
/* what do I put here? */
header("Location: Profile.php?id=" . $auth->id);
mysql_query($query,$connection);
/* input/check boxes and submit button */
<tr>
<td class="email_check">
<input type="checkbox" name="email_toggle" value="true" checked="checked" /> Receive email Notifications When Someone Answers A Question You've Answered
</td>
</tr>
<tr>
<td>
<input style="margin:10px 0px 0px 10px;" class="submit" type="submit" name="email_toggle" value="Save Settings" />
</td>
</tr>
}
Решение
Я не уверен, что вы имеете в виду.Вы можете сделать это, как предлагает Феликс, и сохранить его на время сеанса.Но если вам нужно, чтобы он хранился постоянно (я думаю, да), вам нужно сохранить его в своей базе данных, а затем ваша страница «Настройки электронной почты» запросит, какие флажки установлены пользователем, и выдаст отмеченные или неотмеченные флажки. в XHTML.
Другие советы
Я не уверен, что вы имеете в виду это, но вам нужно получить настройки пользователя из базы данных и сохраните их в переменной, например. $receive_email
.
Затем вы делаете в своем HTML:
<td class="email_check">
<input type="checkbox"
name="email_toggle"
value="true" <?php if($receive_email) echo 'checked="checked"' ?> />
</td>