Come faccio a salvare le modifiche per una casella di controllo che implementa una notifica via email?
Domanda
Sul mio sito, un utente ottiene notifiche e-mail quando qualcuno commenta sul loro profilo, o commenti sul loro blog, ecc ... Ho fatto una pagina delle impostazioni di posta elettronica che ha caselle di controllo per consentire all'utente di decidere di ricevere e-mail o meno.
Questo è quello che sto avvolgendo intorno al codice chunck notifica e-mail per le pagine che hanno il php mail:
<?php if(isset($_POST['email_toggle']) && $_POST['email_toggle'] == 'true') { if(isset($_POST['commentProfileSubmit']) && $auth) {
$query etc
$to = etc
}
}
La mia domanda è che cosa ho messo sullo script impostazioni di posta elettronica che ha le caselle di controllo effettivi per farli rimanere selezionata o deselezionata una volta che si invia le impostazioni? Un altro parole quello che faccio a mettere in if (isset parte per implementare le modifiche?
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>
}
Soluzione
Non sono sicuro di quello che vuoi dire. Si può fare come suggerisce Felix e tenerlo per la sessione. Ma se avete bisogno di essere conservato in modo permanente (credo si fa) è necessario salvarlo sul database e quindi pagina "preferenze di posta elettronica degli interrogherà per vedere quali caselle di controllo sono impostate dall'utente e produrre caselle di controllo selezionata o deselezionata in XHTML.
Altri suggerimenti
Non sono sicuro se questo è quello che vuoi dire, ma è necessario ottenere le impostazioni di utente dal database e memorizzarli in una variabile, ad esempio, $receive_email
.
Poi fai nel tuo HTML:
<td class="email_check">
<input type="checkbox"
name="email_toggle"
value="true" <?php if($receive_email) echo 'checked="checked"' ?> />
</td>