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

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

Это то, что я обертываю вокруг кода уведомления по электронной почте для страниц, на которых есть 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>
}

Ответы [ 2 ]

2 голосов
/ 16 марта 2010

Я не уверен, что вы имеете в виду. Вы можете сделать это так, как предлагает Феликс, и оставить его на время сессии. Но если вам нужно, чтобы он был сохранен на постоянной основе (я думаю, что вам нужно), вам необходимо сохранить его в своей базе данных, а затем на странице «Настройки электронной почты» появится запрос, чтобы увидеть, какие флажки установлены пользователем, и создать флажки, отмеченные или не отмеченные в XHTML.

1 голос
/ 15 марта 2010

Я не уверен, что это то, что вы имеете в виду, но вы должны получить настройки пользователя из базы данных и сохранить их в переменной, например, $receive_email.

Тогда вы делаете в своем HTML:

<td class="email_check">
   <input type="checkbox" 
          name="email_toggle" 
          value="true" <?php if($receive_email) echo 'checked="checked"' ?> />
</td>
...