Как сохранить изменения для флажка, который реализует уведомление по электронной почте?

StackOverflow https://stackoverflow.com/questions/2449570

Вопрос

На моем сайте пользователь получает уведомления по электронной почте, когда кто-то комментирует его профиль или блог и т. д. Я создал страницу настроек электронной почты, на которой есть флажки, позволяющие пользователю решать, получать электронные письма или нет.

Это то, что я оборачиваю в фрагмент кода уведомления по электронной почте для страниц, на которых есть почта 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top