Select menu ==> radio buttons

Programovacie jazyky, rady, poradňa...
Ernestos
Light Expert
Light Expert
Príspevky: 48
Registrovaný: 05 mar 2009, 16:34

Select menu ==> radio buttons

Príspevok od používateľa Ernestos »

Zdravim urobil som 4 radio buttony cez ktore editujem hodnost uzivatela ... funguje mi to v tejto podobe

Kód: Vybrať všetko

echo "<label><input type='radio' name='make_super_admin' value='user_level checked' /> ".$locale['416']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
          echo "<label><input type='radio' name='make_admin' value='user_level' /> ".$locale['476']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
          echo "<label><input type='radio' name='make_moderator' value='user_level' /> ".$locale['474']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
          echo "<label><input type='radio' name='make_vip' value='user_level' /> ".$locale['475']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";

Kód: Vybrať všetko

if (isset($_POST['all_rights']) || isset($_POST['make_super_admin'])) {
			$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='103' WHERE user_id='".$_POST['user_id']."'");
		}
		if (isset($_POST['make_admin'])) {
			$result = dbquery("UPDATE ".DB_USERS." SET user_level='102' WHERE user_id='".$_POST['user_id']."'");
    }	
		if (isset($_POST['make_moderator'])) {
			$result = dbquery("UPDATE ".DB_USERS." SET user_level='104' WHERE user_id='".$_POST['user_id']."'");
		}
		if (isset($_POST['make_vip'])) {
			$result = dbquery("UPDATE ".DB_USERS." SET user_level='105' WHERE user_id='".$_POST['user_id']."'");
		}
no ale samozrejme vzdy sa najde daka chyba ... a v mojom pripade ked tie buttony zaradom klikam tak mi ostanu vsetky oznacene a to nemozu byt potom nemaju vyznam to tam mozem supnut rovno checkboxy .....
ale nemoze to fungovat ako ma ked nemam rovnake name vo vsetkych inputoch .. ale nemozem dat do vsetkych name rovnaky nazov lebo v name mam $_POST funkcie .... a nwm ako to mam editovat aby fungovali aj radio buttony ako maju ale aby mi vykonavalo aj funkciu $_POST...... pls poradte ak by ste o niecom vedeli ...
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: Select menu ==> radio button

Príspevok od používateľa 94jakub »

Daj tie inputy do jedného formuláru.(<form></form>)
Asi berie každý button ako samostatný formulár.
Flambar1
Expert
Expert
Používateľov profilový obrázok
Príspevky: 165
Registrovaný: 23 feb 2010, 17:30
Bydlisko: Michalovce
Kontaktovať používateľa:

Re: Select menu ==> radio button

Príspevok od používateľa Flambar1 »

vymeň hodnoty name /názov/ a value /hodnota/

Kód: Vybrať všetko

echo "<label><input type='radio' name='user_level' value='make_super_admin' /> ".$locale['416']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
          echo "<label><input type='radio' name='user_level' value='make_admin' /> ".$locale['476']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
          echo "<label><input type='radio' name='user_level' value='make_moderator' /> ".$locale['474']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
          echo "<label><input type='radio' name='user_level' value='make_vip' /> ".$locale['475']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: Select menu ==> radio button

Príspevok od používateľa 94jakub »

Teraz som si všimol, že nemáš ani rovnaký name.
V tej funkcii musíš brať hodnotu toho buttonu a nie meno.

A v tom formulári nedáš isset ale

Kód: Vybrať všetko

if ($_POST["user_level"]=="make_super_admin") {query;}
elseif ($_POST["user_level"]=="make_admin"){query;}
...
Ernestos
Light Expert
Light Expert
Príspevky: 48
Registrovaný: 05 mar 2009, 16:34

Re: Select menu ==> radio button

Príspevok od používateľa Ernestos »

a preco tam to isset nema byt ??? teraz v tom mam trosku bordel aj teraz tam daku chybu mam ... :-/
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: Select menu ==> radio button

Príspevok od používateľa 94jakub »

Ten isset tam môžeš aj nechať. Tým by si zaistil možnosť žiadneho výberu.
Ale potom najskôr takto

Kód: Vybrať všetko

if (isset($_POST["user_level"])) {
 if ($_POST["user_level"]=="make_super_admin") {query;}
 elseif ($_POST["user_level"]=="make_admin"){query;}
 ...
}
Ide o to, že nezisťuješ, či to je zadané(isset) ale čo je zadané.
Ernestos
Light Expert
Light Expert
Príspevky: 48
Registrovaný: 05 mar 2009, 16:34

Re: Select menu ==> radio button

Príspevok od používateľa Ernestos »

stale tam mam chyby :-/ ...
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: Select menu ==> radio button

Príspevok od používateľa 94jakub »

Tak ich oprav. :wink:
Na blbú otázku blbá odpoveď.

Skús trocha rozviť, kde máš tú chybu.

//autoeditácia príspevku (19 Feb 2012, 15:23)

Kód: Vybrať všetko

if (isset($_POST['all_rights']) || ($_POST['user_level']=='make_super_admin')) {
         $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='103' WHERE user_id='".$_POST['user_id']."'");
}

if ($_POST['user_level']=='make_admin') {
   $result = dbquery("UPDATE ".DB_USERS." SET user_level='102' WHERE user_id='".$_POST['user_id']."'");
   }   

if ($_POST['user_level']=='make_moderator') {
   $result = dbquery("UPDATE ".DB_USERS." SET user_level='104' WHERE user_id='".$_POST['user_id']."'");
   }

if ($_POST['user_level']=='make_vip') {
   $result = dbquery("UPDATE ".DB_USERS." SET user_level='105' WHERE user_id='".$_POST['user_id']."'");
   }

Kód: Vybrať všetko

echo "<label><input type='radio' name='user_level' value='make_super_admin' /> ".$locale['416']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
echo "<label><input type='radio' name='user_level' value='make_admin' /> ".$locale['476']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
echo "<label><input type='radio' name='user_level' value='make_moderator' /> ".$locale['474']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
echo "<label><input type='radio' name='user_level' value='make_vip' /> ".$locale['475']."</label><span style='color:red;font-weight:bold;margin-left:5px;'>*</span><br />\n";
Tu sú upravené tie tvoje kódy. Nezaručujem, že sú funkčné, nechce sa mi to zas až tak kontrolovať. :smt006
Ernestos
Light Expert
Light Expert
Príspevky: 48
Registrovaný: 05 mar 2009, 16:34

Re: Select menu ==> radio button

Príspevok od používateľa Ernestos »

paradicka uz to ide .... jednu zatvorku som v tom bludisku zmazal :-D a potom ked som to nasiel nesiel som zistit kde chyba :-D ale nastastie som si pred hodinou urobil zalohu :-D ..... tak velmi pekne dakujem .... vyriesene
Napísať odpoveď