1

在我的网站上,当有人在他们的个人资料上发表评论或在他们的博客上发表评论等时,用户会收到电子邮件通知......我已经制作了一个电子邮件设置页面,其中包含复选框以允许用户决定是否接收电子邮件。

这就是我为具有 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>
}
4

2 回答 2

2

我不确定你是什么意思。您可以按照 Felix 的建议进行操作,并将其保留到会话中。但是,如果您需要将其永久存储(我认为您需要),则需要将其保存到数据库中,然后您的“电子邮件首选项”页面将查询以查看用户设置了哪些复选框并生成选中或未选中的复选框在 XHTML 中。

于 2010-03-15T21:26:59.110 回答
1

我不确定这是否是您的意思,但是您必须从数据库中获取用户的设置并将它们存储在一个变量中,例如$receive_email.

然后你在你的 HTML 中做:

<td class="email_check">
   <input type="checkbox" 
          name="email_toggle" 
          value="true" <?php if($receive_email) echo 'checked="checked"' ?> />
</td>
于 2010-03-15T19:28:41.327 回答