📄 setfield.php
字号:
<?php/* [BBWPS!] (C)2006-2010 小蜜蜂版权所有. This is NOT a freeware, use is subject to license terms 功能:设置注册的扩展字段*/error_reporting(0);//-------------------------------------------------//验证是否是合法引用//-------------------------------------------------function_exists("CheckRequire")?null:exit("Forbidden");$action =$_GET["action"];$db= new DB($hostname,$username,$password,$database);$p=new Template("./template/member");if($action=="add"){ $fieldArray=$_POST["setfield"]; //需要扩展字段的时候 if ($fieldArray["field"]){ $value=$_POST["value"]; $text=$_POST["text"]; $isdefault=intval($_POST["isdefault"]); if(count($value)!==count($text)){ MsgError($langAdminArray["mem_field_unmatch"]); } else{ $value=serialize($value); $text=serialize($text); } $arrayTmp=array(); foreach ($fieldArray as $k=>$v){ $arrayTmp[]="$k='$v'"; } $sql="show columns from {$prefix}".$fieldArray["tablename"]." from {$database}"; $db->query($sql,true); $FieldHasArray=array(); while ($rs=$db->fetch_array()){ $FieldHasArray[]=$rs["Field"]; } if(in_array($fieldArray["field"],$FieldHasArray)){ MsgError($langAdminArray["mem_field_exist"]); } else{ //文本类型的时候字段长度无效 if($fieldArray["type"]=="text"){ $alterSQL="text NULL DEFAULT ''"; } else{ $alterSQL=$fieldArray["type"]."(".$fieldArray["length"].") NULL"; } $sql="insert into {$prefix}setfield set ".implode(",",$arrayTmp).",`value`='$value',`text`='$text',`isdefault`=$isdefault"; $sql="ALTER TABLE `{$prefix}".$fieldArray["tablename"]."` ADD `".$fieldArray["field"]."` $alterSQL"; if($db->update($sql)){ $sql="insert into {$prefix}setfield set ".implode(",",$arrayTmp).",`value`='$value',`text`='$text',`isdefault`=$isdefault"; $db->insert($sql); ExeSuccess($langAdminArray["bank_succ"],"./admin.php?mod=member&f=setfield"); } else{ MsgError(mysql_error()); } } } //不需要的时候只是选择注册模型 else{ $sql="insert into {$prefix}setfield set vipnum='{$fieldArray["vipnum"]}',tablename='{$fieldArray["tablename"]}',ispass='{$fieldArray["ispass"]}'"; $db->update($sql); ExeSuccess($langAdminArray["bank_succ"],"./admin.php?mod=member&f=setfield"); }}//删除字段的时候,同时也要考虑删除删除基础表中的字段//在数据量很大的情况下,这样的操作风险很大elseif ($action=="del"){ $fid=$_GET["fid"]; if(!$fid){ MsgError("Forbidden"); } $sql="select * from {$prefix}setfield where fid = $fid limit 0,1"; $db->query($sql,true); $rs=$db->fetch_array(); $field=$rs["field"]; $tablename=$rs["tablename"]; $sql="delete from {$prefix}setfield where fid = $fid limit 1"; $db->update($sql); $sql="ALTER TABLE `{$prefix}{$tablename}` DROP `{$field}`"; $db->update($sql); $sql="delete from {$prefix}groupfield where fid={$fid}"; $db->update($sql); $sql="select s.*,g.pgid as vipnum from {$prefix}setfield as s,{$prefix}groupfield as g where g.fid=s.fid"; $db->query($sql,true); $setfieldStr="<?php\n"; while ($rs=$db->fetch_array()){ $str=array(); foreach ($rs as $key=>$value){ $str[]="\"{$key}\"=>'{$value}'"; } $setfieldStr.='$setfieldArray[]=array('.implode(",",$str).');'."\n"; } $setfieldStr.="?>"; $fp=fopen("../data/setfield.php","w"); fwrite($fp,$setfieldStr,strlen($setfieldStr)); fclose($fp); ExeSuccess($langAdminArray["bank_succ"],"./admin.php?mod=member&f=setfield");}else{ $p->set_file("handle","setfield.html"); $p->set_block("handle","setfieldrow","set"); $sql="select s.* from {$prefix}setfield as s"; $db->query($sql,true); while ($rs=$db->fetch_array()){ $p->set_var($rs); $p->parse("set","setfieldrow",true); } $p->set_var("vipoption",$vipoption); $p->parse("output","handle"); $p->p("output");}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -