Come faccio a salvare le modifiche per una casella di controllo che implementa una notifica via email?

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

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>
}
È stato utile?

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top