Bildirim Tercihleri ​​Predicament

0 Cevap php

Ben üyelerimiz seçenekleri bir dizi dayalı bildirim tercihlerini seçmek için izin veren bir sayfa inşa ediyorum. Örnek aşkına, ben yeni bir mesaj geldiğinde bildirimleri seçmek için üye ve ne zaman bir güncelleme oluştu için seçenek veriyorum. Bunlar e-posta, sms, iki, ya da ne yoluyla bildirim alabilir.

Ben sadece bir dizi olarak bunu inşa halinde:

HTML kodu

<tr>
    <td>Alert me when a new message comes in:</td>
</tr>
<tr>
    <td>
       <label><input name="ENREME" type="radio" style="margin-left:30px;" value="EMAIL" <?php if ($smscode == "7" || $smscode == "4") { ?>checked="checked"<?php } ?> tabindex="15" />Email</label>
       <label><input name="ENREME" type="radio" style="margin-left:30px;"  value="SMS" <?php if ($smscode == "7" || $smscode == "5") { ?>checked="checked"<?php } ?> />SMS</label>
       <label><input name="ENREME" type="radio" style="margin-left:30px;"  value="BOTH" <?php if ($smscode == "7" || $smscode == "6") { ?>checked="checked"<?php } ?> tabindex="15" />Both</label>
       <label><input name="ENREME" type="radio" style="margin-left:30px;" value="NONE" <?php if ($smscode == "0") { ?>checked="checked"<?php } ?> />Don't notify me</label>
    </td>
</tr>
<tr>
    <td>Alert me when a new update to my site occurs:</td>
</tr>
<tr>
    <td>
       <label><input name="RECRUITEME" type="radio" style="margin-left:30px;" value="EMAIL" <?php if ($smscode == "7" || $smscode == "1") { ?>checked="checked"<?php } ?> tabindex="15" />Email</label>
       <label><input name="RECRUITEME" type="radio" style="margin-left:30px;"  value="SMS" <?php if ($smscode == "7" || $smscode == "2") { ?>checked="checked"<?php } ?> /> SMS</label>
       <label><input name="RECRUITEME" type="radio" style="margin-left:30px;"  value="BOTH" <?php if ($smscode == "7" || $smscode == "3") { ?>checked="checked"<?php } ?> tabindex="15" />Both</label>
       <label><input name="RECRUITEME" type="radio" style="margin-left:30px;" value="NONE" <?php if ($smscode == "0") { ?>checked="checked"<?php } ?> />Don't notify me</label>
    </td>
</tr>

Variable Encoding and Storage

<?php
    if ($_POST['ENREME'] == "BOTH" && $_POST['RECRUITEME'] == "BOTH") {
        $notif = 15;
    } elseif ($_POST['ENREME'] == "BOTH" && $_POST['RECRUITEME'] == "SMS") {
        $notif = 14;
    } elseif ($_POST['ENREME'] == "BOTH" && $_POST['RECRUITEME'] == "EMAIL") {
        $notif = 13;
    } elseif ($_POST['ENREME'] == "BOTH" && $_POST['RECRUITEME'] == "NONE") {
        $notif = 12;
    } elseif ($_POST['ENREME'] == "EMAIL" && $_POST['RECRUITEME'] == "BOTH") {
        $notif = 11;
    } elseif ($_POST['ENREME'] == "EMAIL" && $_POST['RECRUITEME'] == "SMS") {
        $notif = 10;
    } elseif ($_POST['ENREME'] == "EMAIL" && $_POST['RECRUITEME'] == "EMAIL") {
        $notif = 9;
    } elseif ($_POST['ENREME'] == "EMAIL" && $_POST['RECRUITEME'] == "NONE") {
        $notif = 8;
    } elseif ($_POST['ENREME'] == "SMS" && $_POST['RECRUITEME'] == "BOTH") {
        $notif = 7;
    } elseif ($_POST['ENREME'] == "SMS" && $_POST['RECRUITEME'] == "SMS") {
        $notif = 6;
    } elseif ($_POST['ENREME'] == "SMS" && $_POST['RECRUITEME'] == "EMAIL") {
        $notif = 5;
    } elseif ($_POST['ENREME'] == "SMS" && $_POST['RECRUITEME'] == "NONE") {
        $notif = 4;
    } elseif ($_POST['ENREME'] == "NONE" && $_POST['RECRUITEME'] == "BOTH") {
        $notif = 3;
    } elseif ($_POST['ENREME'] == "NONE" && $_POST['RECRUITEME'] == "SMS") {
        $notif = 2;
    } elseif ($_POST['ENREME'] == "NONE" && $_POST['RECRUITEME'] == "EMAIL") {
        $notif = 1;
    } elseif ($_POST['ENREME'] == "NONE" && $_POST['RECRUITEME'] == "NONE") {
        $notif = 0;
    }
?>

Ben 16 olası değişkenler için kod sola (ve dolayısıyla kod 100'ün üzerinde çizgiler oluşturarak) duyuyorum. Herkes bu kodu pekiştirmek için daha iyi bir yol düşünebiliyor musunuz? Yapılan seçimlere dayanarak, ben sonuç tek basamaklı (yani 28 eşittir, hem yeni mesajlar ve güncellemeleri e-posta ve SMS gönderebilir) eşit istiyorum.

Yeni bir tablo veya veritabanı oluşturma ve referans arama yapmak bir çözüm değil yani düşündürmektedir etmeyiniz.

Teşekkür ederiz!

0 Cevap