كيف يمكنني حفظ التعديلات لصندوق الاختيار الذي ينفذ إعلام بريد إلكتروني؟

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

سؤال

على موقعي، يحصل المستخدم على إشعارات بالبريد الإلكتروني عند تعليقات شخص ما على ملفه الشخصي، أو تعليقات على مدونتها وما إلى ذلك ... لقد قمت بإجراء صفحة إعدادات بريد إلكتروني تحتوي على مربعات الاختيار للسماح للمستخدم بقرر تلقي رسائل البريد الإلكتروني أم لا.

هذا هو ما ألف فيه رمز إشعار البريد الإلكتروني Chunck للحصول على الصفحات التي تحتوي على بريد 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