Autor Zpráva
Martinse
Profil
Dobrej potrebuju pomoc s formularem tady mate code
<label><input type='checkbox' name='make_mod' value='1' /> Mod</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />
<label><input type='checkbox' name='make_super' value='1' />Admin</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />

a co potrebuju no to predelat do tohodle jenze potrebuju aby tam zustal ten name jinak to nenahodi a takhle to nejde nevite nekdo jak to mam udelat
<select>
<option name='make_mod' value='1' >Mod</option>
<option name='make_super' value='1'  selected='selected'>Admin</option>
</select>



+ tady to zpracova kdyby nekdo mel napad jak to predelat na value budu rad

if (isset($_POST['add_admin']) && (isset($_POST['user_id']) && isnum($_POST['user_id']))) {
    if (check_admin_pass(isset($_POST['admin_password']) ? stripinput($_POST['admin_password']) : "")) {
        if (isset($_POST['all_rights']) || isset($_POST['make_super'])) {
            $admin_rights = "";
            $result = dbquery("SELECT DISTINCT admin_rights AS admin_right FROM ".DB_ADMIN." ORDER BY admin_right");
            while ($data = dbarray($result)) {
                $admin_rights .= (isset($admin_rights) ? "." : "").$data['admin_right'];
            }
            $result = dbquery("UPDATE ".DB_USERS." SET user_level='".(isset($_POST['make_super']) ? "103" : "102")."', user_rights='$admin_rights' WHERE user_id='".$_POST['user_id']."'");
        } else     if (isset($_POST['all_rights']) || isset($_POST['make_mod'])) {
            $result = dbquery("UPDATE ".DB_USERS." SET user_level='".(isset($_POST['make_mod']) ? "104" : "102")."', user_rights='$admin_rights' WHERE user_id='".$_POST['user_id']."'");
        } else {
            $result = dbquery("UPDATE ".DB_USERS." SET user_level='102' WHERE user_id='".$_POST['user_id']."'");
        }
        set_admin_pass(isset($_POST['admin_password']) ? stripinput($_POST['admin_password']) : "");
        redirect(FUSION_SELF.$aidlink."&status=sn", true);
    } else {
        redirect(FUSION_SELF.$aidlink."&status=pw");
    }
}
Keeehi
Profil
<select name='make'>
<option value='mod' >Mod</option>
<option value='super'  selected='selected'>Admin</option>
</select>

if (isset($_POST['add_admin']) && (isset($_POST['user_id']) && isnum($_POST['user_id']))) {
    if (check_admin_pass(isset($_POST['admin_password']) ? stripinput($_POST['admin_password']) : "")) {
        if (isset($_POST['all_rights']) || (isset($_POST['make']) && $_POST['make']==="super")) {
            $admin_rights = "";
            $result = dbquery("SELECT DISTINCT admin_rights AS admin_right FROM ".DB_ADMIN." ORDER BY admin_right");
            while ($data = dbarray($result)) {
                $admin_rights .= (isset($admin_rights) ? "." : "").$data['admin_right'];
            }
            $result = dbquery("UPDATE ".DB_USERS." SET user_level='".(isset($_POST['make']) && $_POST['make']==="super" ? "103" : "102")."', user_rights='$admin_rights' WHERE user_id='".$_POST['user_id']."'");
        } else     if (isset($_POST['all_rights']) || (isset($_POST['make']) && $_POST['make']==="mod")) {
            $result = dbquery("UPDATE ".DB_USERS." SET user_level='".(isset($_POST['make']) && $_POST['make']==="mod" ? "104" : "102")."', user_rights='$admin_rights' WHERE user_id='".$_POST['user_id']."'");
        } else {
            $result = dbquery("UPDATE ".DB_USERS." SET user_level='102' WHERE user_id='".$_POST['user_id']."'");
        }
        set_admin_pass(isset($_POST['admin_password']) ? stripinput($_POST['admin_password']) : "");
        redirect(FUSION_SELF.$aidlink."&status=sn", true);
    } else {
        redirect(FUSION_SELF.$aidlink."&status=pw");
    }
}

Jen jsem to upravil s co nejméně zásahy.

Několik poznámek:
- označil jsem části podmínky, které jsou zbytečné. Buď jsou vždy pravdivé, nebo nikdy.
- používat $_POST['user_id'] v dotazech je trochu nebezpečné. Já vím, že na začátku tam máš isnum, její implementace tu není, takže kdo ví, zda tam není nějaká chyba.
- $_POST['user_id'] má být číslo, proč to databázi předáváš jako řetězec?
Martinse
Profil
Je to php fusion takze nevim

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: