anonīms Posted May 12, 2010 Report Share Posted May 12, 2010 Veidoju kodiņu, kas palīdzētu ērtāk pārvaldīt useru accessus un kā piemērs tika ņemts šiet pat forumā atrodama doma. Tātad visu glabāju vienā laukā, `lietotaji` tabulā. Kad lietotājs ir ielogojies, tad ir šāda pārbaude if($ielogojies) { $perms = $lietotajs['flags']; $perms_array = array( 'a', // imunitate + iespeja labot/dzest citu adminu rakstus, turnirus. 'b', // ip bani, profila blokeshana 'f', // foruma kategoriju, subkategoriju veidoshana/laboshana/dzeshana 'm', // foruma moderators 'w' // Rakstu veidosana/labosana/dzesana ); foreach($perms_array AS $v) { if(strpos($perms, $v)!==false) $flag."_".$v = true; else $flag_.$v = false; } } Problēma ir tajā, ka īsti nesaprotu kā pareizi uzrakstīt šo vietu: $flag."_".$v = true; else $flag_.$v = false; respektīvi, lai būtu $flag_a = true; $flag_b = false; Ceru, ka sapratāt ideju. Nepieciešams izveidot variabļus ar gala $flag_ un galā piemontēt flaga burtu. Un tālāk jau attiecīgi <?php if($flag_b == true){ ?> <li class="sepr">|</li> <li><a href="/admin/bans/" <?php if($_GET['menu'] == 'bans') echo 'class="active"'; ?>>IP bani</a></li> <?php } ? Quote Link to comment Share on other sites More sharing options...
fest Posted May 12, 2010 Report Share Posted May 12, 2010 $varname = 'flag_a'; $$varname = true; Glabāt to visu masīvā būtu prātīgāk, nekā atsevišķos mainīgos. Quote Link to comment Share on other sites More sharing options...
anonīms Posted May 12, 2010 Author Report Share Posted May 12, 2010 tāpat kkas nešansē $flag = 'flag_'.$v; $$flag = true; Quote Link to comment Share on other sites More sharing options...
mefisto Posted May 12, 2010 Report Share Posted May 12, 2010 Nu a kāpēc tu tiesība nevari glabāt ( datubāzē ) kā serializetu masīvu. php.net > serialize() Vai vienkāŗsi, kā vienu skaitli, no kura tiesības tiek izvilktas binārā formā, un pārbaudīt vai jūzerim ir attiecīgās tiesības var izmantojo binārto AND. Quote Link to comment Share on other sites More sharing options...
v3rb0 Posted May 13, 2010 Report Share Posted May 13, 2010 - binārais and, (tb tiesību pārbaudīšana) darbosies arī sql un jebkurā citā programmēšanas valodā, atšķirībā no serializēta masīva. - definē tos flagus kā konstantes - pirmkārt nebūs jāņemās ar 'mainīgo no mainīgo' - ar ko tagad ir problēma :>, otrkārt kaut kas nākotnē (includots scripts, cits koderis utt) konstantes netīšām nepārrakstīs ar kaut ko citu. Quote Link to comment Share on other sites More sharing options...
anonīms Posted May 13, 2010 Author Report Share Posted May 13, 2010 v3rb0 paldies. Izmantoju definēšanu. Viss iet kā smērēts. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.