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 |
#2 · Zasláno: 11. 1. 2016, 01:16:58
<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 |
#3 · Zasláno: 11. 1. 2016, 08:03:29
Je to php fusion takze nevim
|
||
Časová prodleva: 9 let
|
0