下面提供一个PHP的无限分级类代码,想要实现无限分级类的朋友们可以试试。Bug已经检查修正过,直接复制代码就能使用尖括号需要替换一下)。
1、数据库ProductShow中有b_mtype表,建表语句如下:
<ol class="dp-sql"> <li class="alt"><span><span class="keyword">CREATE</span><span> </span><span class="keyword">TABLE</span><span> `b_mtype` ( </span></span></li> <li class=""> <span> `typeid` </span><span class="keyword">int</span><span>(4) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">'0'</span><span>, </span> </li> <li class="alt"> <span> `typename` </span><span class="keyword">varchar</span><span>(50) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">''</span><span>, </span> </li> <li class=""> <span> `parentid` </span><span class="keyword">int</span><span>(4) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">'0'</span><span>, </span> </li> <li class="alt"> <span> `parentstr` </span><span class="keyword">varchar</span><span>(200) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">''</span><span>, </span> </li> <li class=""> <span> `depth` </span><span class="keyword">int</span><span>(4) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">'0'</span><span>, </span> </li> <li class="alt"> <span> `rootid` </span><span class="keyword">int</span><span>(4) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">'0'</span><span>, </span> </li> <li class=""> <span> `child` </span><span class="keyword">varchar</span><span>(200) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">''</span><span>, </span> </li> <li class="alt"> <span> `orders` </span><span class="keyword">varchar</span><span>(200) </span><span class="op">NOT</span><span> </span><span class="op">NULL</span><span> </span><span class="keyword">default</span><span> </span><span class="string">''</span><span>, </span> </li> <li class=""> <span> </span><span class="keyword">PRIMARY</span><span> </span><span class="keyword">KEY</span><span> (`typeid`) </span> </li> <li class="alt"><span>) TYPE=MyISAM; </span></li> <li class=""><span> </span></li> </ol>
2、ProductClass.php代码:直接复制即可)
<ol class="dp-c"> <li class="alt"><span><span> </span></span></li> <li class=""><span> </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"Content-Type"</font></span><span> content=</span><span class="string"><font color="#0000ff">"text/html; charset=gb2312"</font></span><span> /> </span></span></li> <li class=""><span>WHB_PHP无限级分类 </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"text/css"</font></span><span>> </span></span></li> <li class=""><span><li class="alt"><span>.STYLE1 {color: #FF0000} </span></li> <li class=""><span>body,td,th { </span></li> <li class="alt"><span> font-family: 宋体; </span></li> <li class=""><span> font-size: 12px; </span></li> <li class="alt"><span>} </span></li> <li class=""><span>.STYLE2 { </span></li> <li class="alt"><span> color: #FFFFFF; </span></li> <li class=""><span> font-size: 14px; </span></li> <li class="alt"><span> font-weight: bold; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>--> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span><li class="alt"> <span></span><span class="func">ini_set</span><span>(</span><span class="string"><font color="#0000ff">"error_reporting"</font></span><span>,</span><span class="string"><font color="#0000ff">"E_ALL & ~E_NOTICE"</font></span><span>);</span><span class="comment"><font color="#008200">//忽略所有警告信息 </font></span><span> </span> </li></span></li> <li class=""> <span></span><span class="keyword"><strong><font color="#006699">require_once</font></strong></span><span>(</span><span class="string"><font color="#0000ff">"conn.php"</font></span><span>);</span><span class="comment"><font color="#008200">//嵌入连接文件 </font></span><span> </span> </li></span></li> <li class="alt"> <span> @</span><span class="vars"><font color="#dd0000">$ToDo</font></span><span>=</span><span class="vars"><font color="#dd0000">$_GET</font></span><span>[</span><span class="string"><font color="#0000ff">"ToDo"</font></span><span>]; </span> </li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">switch</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$ToDo</font></span><span>) </span> </li> <li class="alt"><span> { </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">case</font></strong></span><span> </span><span class="string"><font color="#0000ff">"add"</font></span><span>: </span> </li> <li class="alt"> <span> </span><span class="func">echo</span><span> add(); </span> </li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">break</font></strong></span><span>; </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">case</font></strong></span><span> </span><span class="string"><font color="#0000ff">"edit"</font></span><span>: </span> </li> <li class="alt"> <span> </span><span class="func">echo</span><span> edit(); </span> </li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">break</font></strong></span><span>; </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">case</font></strong></span><span> </span><span class="string"><font color="#0000ff">"saveadd"</font></span><span>: </span> </li> <li class="alt"> <span> </span><span class="func">echo</span><span> saveadd(); </span> </li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">break</font></strong></span><span>; </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">case</font></strong></span><span> </span><span class="string"><font color="#0000ff">"saveedit"</font></span><span>: </span> </li> <li class="alt"> <span> </span><span class="func">echo</span><span> saveedit(); </span> </li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">break</font></strong></span><span>; </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">case</font></strong></span><span> </span><span class="string"><font color="#0000ff">"del"</font></span><span>: </span> </li> <li class="alt"> <span> </span><span class="func">echo</span><span> del(); </span> </li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">break</font></strong></span><span>; </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">default</font></strong></span><span>: </span> </li> <li class="alt"><span>?> </span></li> <li class=""><span> </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"90%"</font></span><span> border=</span><span class="string"><font color="#0000ff">"0"</font></span><span> align=</span><span class="string"><font color="#0000ff">"center"</font></span><span> cellpadding=</span><span class="string"><font color="#0000ff">"0"</font></span><span> cellspacing=</span><span class="string"><font color="#0000ff">"0"</font></span><span> </span><span class="keyword"><strong><font color="#006699">class</font></strong></span><span>=</span><span class="string"><font color="#0000ff">"tblborder"</font></span><span>> </span></span></li> <li class=""><span> </span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"top"</font></span><span>><span class="string"><font color="#0000ff">"100%"</font></span><span> border=</span><span class="string"><font color="#0000ff">"0"</font></span><span> cellspacing=</span><span class="string"><font color="#0000ff">"1"</font></span><span> cellpadding=</span><span class="string"><font color="#0000ff">"3"</font></span><span>> </span></span><li class=""><span> </span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"55%"</font></span><span> height=</span><span class="string"><font color="#0000ff">"20"</font></span><span> align=</span><span class="string"><font color="#0000ff">"center"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#698FC7"</font></span><span>><span class="keyword"><strong><font color="#006699">class</font></strong></span><span>=</span><span class="string"><font color="#0000ff">"tblhead"</font></span><span>><span class="keyword"><strong><font color="#006699">class</font></strong></span><span>=</span><span class="string"><font color="#0000ff">"STYLE2"</font></span><span>>商品类别设置 <span class="string"><font color="#0000ff">"?ToDo=add"</font></span><span>>添加一个新类别 </span></span><li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"100%"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#cccccc"</font></span><span> cellspacing=</span><span class="string"><font color="#0000ff">"1"</font></span><span> cellpadding=</span><span class="string"><font color="#0000ff">"3"</font></span><span>> </span></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"#F9F9F9"</font></span><span>> </span></span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"6%"</font></span><span> height=</span><span class="string"><font color="#0000ff">"21"</font></span><span>>ID </span></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"49%"</font></span><span>>类别名称 </span></span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"14%"</font></span><span>>排序 </span></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"31%"</font></span><span>>操作 </span></span></li> <li class="alt"><span> </span></li> <li class=""><span> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select * from b_mtype order by rootid,orders"</font></span><span>); </span> </li></span></li> <li class="alt"> <span> </span><span class="keyword"><strong><font color="#006699">while</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$query</font></span><span>)) </span> </li></span><li class=""><span> { </span></li> <li class="alt"><span> </span></li> <li class=""><span> ?> </span></li> <li class="alt"><span> </span></li> <li class=""><span> <span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>><span class="func">echo</span><span> </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"typeid"</font></span><span>];?> </span></span><li class="alt"><span> <span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"depth"</font></span><span>]>0) { </span></span><li class=""> <span> </span><span class="keyword"><strong><font color="#006699">for</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$i</font></span><span>=1;</span><span class="vars"><font color="#dd0000">$i</font></span><span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"depth"</font></span><span>];</span><span class="vars"><font color="#dd0000">$i</font></span><span>++){ </span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">" "</font></span><span>;} </span></span> </li> <li class="alt"><span> }?> </span></li> <li class=""><span> </span></li> <li class="alt"><span> <span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"child"</font></span><span>]>0) { </span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"+"</font></span><span>;}</span><span class="keyword"><strong><font color="#006699">else</font></strong></span><span> {</span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"-"</font></span><span>;}?> </span></span></li> <li class=""><span> <span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"parentid"</font></span><span>]==0) { </span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">""</font></span><span>;}?> </span></span></li> <li class="alt"><span> <span class="func">echo</span><span> </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"typename"</font></span><span>];?> </span></span></li> <li class=""><span> <span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"child"</font></span><span>]>0) {?>(<span class="func">echo</span><span> </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"child"</font></span><span>];?>) </span></span><li class="alt"><span> <span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>><span class="func">echo</span><span> </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"orders"</font></span><span>];?> </span></span><li class=""><span> <span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>><span class="string"><font color="#0000ff">"?ToDo=add&editid=</font></span><span>typeid</span><span class="string"><font color="#0000ff">"];?>"</font></span><span>>添加子类 </span></span><li class="alt"><span> | <span class="string"><font color="#0000ff">"?ToDo=edit&editid=</font></span><span>typeid</span><span class="string"><font color="#0000ff">"]?>"</font></span><span>>编辑类别 </span></span></li> <li class=""><span> | <span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"child"</font></span><span>]==0){?><span class="string"><font color="#0000ff">"?ToDo=del&editid=</font></span><span>typeid</span><span class="string"><font color="#0000ff">"];?>"</font></span><span> onClick=</span><span class="string"><font color="#0000ff">"{if(confirm('删除类别时,该类别下的所有产品将一并被删除,确定删除吗?')){return true;}return false;}"</font></span><span>>删除类别<span class="keyword"><strong><font color="#006699">else</font></strong></span><span>{?><span class="string"><font color="#0000ff">"#"</font></span><span> onClick=</span><span class="string"><font color="#0000ff">"{if(confirm('该类别含有下属类别,必须先删除其下属类别方能删除本类别!')){return true;}return false;}"</font></span><span>>删除类别 </span></span><li class="alt"><span> </span></li> <li class=""><span> <li class="alt"><span> } </span></li> <li class=""><span> ?> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span><li class=""> <span> </span><span class="keyword"><strong><font color="#006699">break</font></strong></span><span>; </span> </li></span></li> <li class="alt"><span> } </span></li> <li class=""><span> ?> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span><span class="comment"><font color="#008200">///增加类别 </font></span><span> </span></span></li> <li class=""> <span></span><span class="keyword"><strong><font color="#006699">function</font></strong></span><span> add(){ </span> </li></span></li> <li class="alt"> <span> @</span><span class="vars"><font color="#dd0000">$editid</font></span><span>=</span><span class="vars"><font color="#dd0000">$_REQUEST</font></span><span>[</span><span class="string"><font color="#0000ff">"editid"</font></span><span>]; </span> </li></span><li class=""><span>?> </span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"form1"</font></span><span> method=</span><span class="string"><font color="#0000ff">"post"</font></span><span> action=</span><span class="string"><font color="#0000ff">"?ToDo=saveadd"</font></span><span>> </span></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"90%"</font></span><span> align=</span><span class="string"><font color="#0000ff">"center"</font></span><span> cellpadding=</span><span class="string"><font color="#0000ff">"3"</font></span><span> cellspacing=</span><span class="string"><font color="#0000ff">"1"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#CCCCCC"</font></span><span>> </span></span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"#CCCCCC"</font></span><span>> </span></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"2"</font></span><span> align=</span><span class="string"><font color="#0000ff">"center"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#698FC7"</font></span><span>><span class="keyword"><strong><font color="#006699">class</font></strong></span><span>=</span><span class="string"><font color="#0000ff">"STYLE2"</font></span><span>>创建新的类别 </span></span><li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"25%"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>>类别名称: </span></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"75%"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>><span class="string"><font color="#0000ff">"typename"</font></span><span> type=</span><span class="string"><font color="#0000ff">"text"</font></span><span> id=</span><span class="string"><font color="#0000ff">"typename"</font></span><span>> </span></span><li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"25%"</font></span><span> height=30 bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>>所属类别 </span></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"75%"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>> </span></span></li> <li class="alt"><span> </span></li> <li class=""><span> <span class="string"><font color="#0000ff">"0"</font></span><span>>做为主类别 </span></span></li> <li class="alt"><span> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select * from b_mtype order by rootid,orders"</font></span><span>); </span> </li></span></li> <li class="alt"> <span> </span><span class="keyword"><strong><font color="#006699">while</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$query</font></span><span>)){ ?> </span> </li></span></li> <li class=""><span> <span class="string"><font color="#0000ff">"</font></span><span>typeid</span><span class="string"><font color="#0000ff">"]?>"</font></span><span> <span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$editid</font></span><span> == </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">'typeid'</font></span><span>]){ </span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">" selected"</font></span><span>; }?>> </span></span><li class="alt"><span> <span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"depth"</font></span><span>]>0) { </span></span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">for</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$i</font></span><span>=1;</span><span class="vars"><font color="#dd0000">$i</font></span><span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"depth"</font></span><span>];</span><span class="vars"><font color="#dd0000">$i</font></span><span>++) </span></span> </li> <li class="alt"><span> { </span></li> <li class=""> <span> </span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"-"</font></span><span>; </span> </li></span></li> <li class="alt"><span> } </span></li> <li class=""><span> </span></li> <li class="alt"><span> }?> </span></li> <li class=""><span> <span class="func">echo</span><span> </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"typename"</font></span><span>]?> </span></span></li> <li class="alt"><span> <li class=""><span> } </span></li> <li class="alt"><span> ?> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> <span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>> </span></span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>><span class="string"><font color="#0000ff">"submit"</font></span><span> name=</span><span class="string"><font color="#0000ff">"Submit"</font></span><span> value=</span><span class="string"><font color="#0000ff">"保存"</font></span><span>> </span></span><li class=""><span> </span></li> <li class="alt"><span> <span class="string"><font color="#0000ff">"button"</font></span><span> name=</span><span class="string"><font color="#0000ff">"cancel"</font></span><span> id=</span><span class="string"><font color="#0000ff">"cancel"</font></span><span> value=</span><span class="string"><font color="#0000ff">"返回"</font></span><span> onclick=</span><span class="string"><font color="#0000ff">"history.go(-1);"</font></span><span> /> </span></span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span><span class="comment"><font color="#008200">/////保存增加的类别 </font></span><span> </span></span></li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">function</font></strong></span><span> saveadd(){ </span> </li></span></li> <li class=""><span> </span></li> <li class="alt"> <span></span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select typeid from b_mtype order by typeid desc limit 1"</font></span><span>); </span> </li></span></li> <li class=""> <span></span><span class="keyword"><strong><font color="#006699">while</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$query</font></span><span>)){ </span> </li></span></li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (!</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"typeid"</font></span><span>]){ </span> </li></span><li class=""> <span> </span><span class="vars"><font color="#dd0000">$postnum</font></span><span>=1; </span> </li></span></li> <li class="alt"><span> </span></li> <li class=""> <span>}</span><span class="keyword"><strong><font color="#006699">else</font></strong></span><span>{ </span> </li></span></li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$postnum</font></span><span>=</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"typeid"</font></span><span>]+1; </span> </li></span></li> <li class=""><span> </span></li> <li class="alt"><span>} </span></li> <li class=""><span>} </span></li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(!</span><span class="vars"><font color="#dd0000">$postnum</font></span><span>) </span><span class="vars"><font color="#dd0000">$postnum</font></span><span>=1; </span> </li></span></li> <li class=""><span> </span></li> <li class="alt"> <span></span><span class="vars"><font color="#dd0000">$ntid</font></span><span> =</span><span class="vars"><font color="#dd0000">$postnum</font></span><span>; </span> </li></span></li> <li class=""> <span></span><span class="vars"><font color="#dd0000">$tn</font></span><span> =</span><span class="vars"><font color="#dd0000">$_REQUEST</font></span><span>[</span><span class="string"><font color="#0000ff">"typename"</font></span><span>]; </span> </li></span></li> <li class="alt"> <span></span><span class="vars"><font color="#dd0000">$btype</font></span><span> =</span><span class="vars"><font color="#dd0000">$_REQUEST</font></span><span>[</span><span class="string"><font color="#0000ff">"btype"</font></span><span>]; </span> </li></span><li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="comment"><font color="#008200">//echo $btype; </font></span><span> </span> </li></span></li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$ntid</font></span><span>==</span><span class="string"><font color="#0000ff">""</font></span><span> </span><span class="keyword"><strong><font color="#006699">or</font></strong></span><span> </span><span class="vars"><font color="#dd0000">$tn</font></span><span>==</span><span class="string"><font color="#0000ff">""</font></span><span>) </span> </li></span></li> <li class="alt"><span>{ </span></li> <li class=""> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">""</font></span><span>; </span> </li> <li class="alt"> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"alert('参数有误,请重新填写.!');"</font></span><span>; </span> </li> <li class=""> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"location.href='?';"</font></span><span>; </span> </li> <li class="alt"> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">""</font></span><span>; </span> </li> <li class=""> <span></span><span class="keyword"><strong><font color="#006699">die</font></strong></span><span>(); </span> </li> <li class="alt"><span>} </span></li> <li class=""><span> </span></li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$btype</font></span><span>!=0){ </span> </li> <li class=""><span> </span></li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$result</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select rootid,typeid,depth,orders,parentstr from b_mtype where typeid='$btype'"</font></span><span>); </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$aa</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$result</font></span><span>); </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$rootid</font></span><span>=</span><span class="vars"><font color="#dd0000">$aa</font></span><span>[</span><span class="string"><font color="#0000ff">'rootid'</font></span><span>]; </span> </li> <li class=""> <span> </span><span class="comment"><font color="#008200">//echo "aaaaaaaaaaa"; </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$parentid</font></span><span>=</span><span class="vars"><font color="#dd0000">$aa</font></span><span>[</span><span class="string"><font color="#0000ff">'typeid'</font></span><span>]; </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$depth</font></span><span>=</span><span class="vars"><font color="#dd0000">$aa</font></span><span>[</span><span class="string"><font color="#0000ff">'depth'</font></span><span>]; </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$orders</font></span><span>=</span><span class="vars"><font color="#dd0000">$aa</font></span><span>[</span><span class="string"><font color="#0000ff">'orders'</font></span><span>]; </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$parentstr</font></span><span>=</span><span class="vars"><font color="#dd0000">$aa</font></span><span>[</span><span class="string"><font color="#0000ff">'parentstr'</font></span><span>]; </span> </li> <li class="alt"> <span> </span><span class="comment"><font color="#008200">//echo $rootid; </font></span><span> </span> </li> <li class=""><span> </span></li> <li class="alt"> <span> </span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span>((</span><span class="vars"><font color="#dd0000">$aa</font></span><span>[</span><span class="string"><font color="#0000ff">"depth"</font></span><span>]+1)>20){ </span><span class="keyword"><strong><font color="#006699">die</font></strong></span><span>(</span><span class="string"><font color="#0000ff">"本分类限制最多只能有20级分类"</font></span><span>); } </span> </li> <li class=""><span> </span></li> <li class="alt"><span>} </span></li> <li class=""><span> </span></li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$ntid</font></span><span> == </span><span class="vars"><font color="#dd0000">$btype</font></span><span>) </span> </li> <li class=""><span>{ </span></li> <li class="alt"> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">""</font></span><span>; </span> </li> <li class=""> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"alert('您所指定的typeid值重复!');"</font></span><span>; </span> </li> <li class="alt"> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"location.href='?';"</font></span><span>; </span> </li> <li class=""> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">""</font></span><span>; </span> </li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">die</font></strong></span><span>(); </span> </li> <li class=""><span>} </span></li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$btype</font></span><span>!=0){ </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$depth</font></span><span>=</span><span class="vars"><font color="#dd0000">$depth</font></span><span>+1; </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$rootid</font></span><span>=</span><span class="vars"><font color="#dd0000">$rootid</font></span><span>; </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$orders</font></span><span> =</span><span class="vars"><font color="#dd0000">$ntid</font></span><span>; </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$parentid</font></span><span> =</span><span class="vars"><font color="#dd0000">$btype</font></span><span>; </span> </li> <li class=""> <span> </span><span class="comment"><font color="#008200">//$child = $child; </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$parentstr</font></span><span>==</span><span class="string"><font color="#0000ff">"0"</font></span><span>){ </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$parentstr</font></span><span>=</span><span class="vars"><font color="#dd0000">$btype</font></span><span>; </span> </li> <li class="alt"> <span> }</span><span class="keyword"><strong><font color="#006699">else</font></strong></span><span>{ </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$parentstr</font></span><span>=</span><span class="vars"><font color="#dd0000">$parentstr</font></span><span>.</span><span class="string"><font color="#0000ff">","</font></span><span>.</span><span class="vars"><font color="#dd0000">$btype</font></span><span>; </span> </li> <li class="alt"><span> } </span></li> <li class=""><span> </span></li> <li class="alt"> <span>}</span><span class="keyword"><strong><font color="#006699">else</font></strong></span><span>{ </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$depth</font></span><span>=0; </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$rootid</font></span><span>=</span><span class="vars"><font color="#dd0000">$ntid</font></span><span>; </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$orders</font></span><span>=1; </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$parentid</font></span><span>=0; </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$child</font></span><span>=0; </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$parentstr</font></span><span>=0; </span> </li> <li class=""><span>} </span></li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="comment"><font color="#008200">//插入类别 </font></span><span> </span> </li> <li class="alt"> <span></span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"insert into b_mtype values('$ntid','$tn','$parentid','$parentstr','$depth','$rootid','','$orders')"</font></span><span>) ; </span> </li> <li class=""> <span></span><span class="comment"><font color="#008200">//用于调试 echo "insert into b_mtype values('$ntid','$tn','$parentid','$parentstr','$depth','$rootid','','$orders')"; </font></span><span> </span> </li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$btype</font></span><span>!=0) </span> </li> <li class="alt"><span> { </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$depth</font></span><span>>0) </span> </li> <li class="alt"><span> { </span></li> <li class=""> <span> </span><span class="comment"><font color="#008200">//当上级分类深度大于0的时候要更新其父类或父类的父类)的版面数和相关排序 </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="keyword"><strong><font color="#006699">for</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$i</font></span><span>=1;</span><span class="vars"><font color="#dd0000">$i</font></span><span><span class="vars"><font color="#dd0000">$depth</font></span><span>;</span><span class="vars"><font color="#dd0000">$i</font></span><span>++){ </span></span> </li> <li class=""> <span> </span><span class="comment"><font color="#008200">//更新其父类版面数 </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$parentid</font></span><span>!=</span><span class="string"><font color="#0000ff">""</font></span><span>){ </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"update b_mtype set child=child+1 where typeid='$parentid'"</font></span><span>); </span> </li> <li class="alt"><span> } </span></li> <li class=""> <span> </span><span class="comment"><font color="#008200">//得到其父类的父类的版面ID </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$result</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select parentid from b_mtype where typeid='$parentid'"</font></span><span>); </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$par</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$result</font></span><span>); </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$par</font></span><span>[</span><span class="string"><font color="#0000ff">'parentid'</font></span><span>]!=</span><span class="string"><font color="#0000ff">""</font></span><span>){ </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$parentid</font></span><span>=</span><span class="vars"><font color="#dd0000">$par</font></span><span>[</span><span class="string"><font color="#0000ff">'parentid'</font></span><span>]; </span> </li> <li class=""><span> } </span></li> <li class="alt"> <span> </span><span class="comment"><font color="#008200">//当循环次数大于1并且运行到最后一次循环的时候直接进行更新 </font></span><span> </span> </li> <li class=""> <span> </span><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$i</font></span><span>==</span><span class="vars"><font color="#dd0000">$depth</font></span><span> && </span><span class="vars"><font color="#dd0000">$parentid</font></span><span>!=</span><span class="string"><font color="#0000ff">""</font></span><span>){ </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"update b_mtype set child=child+1 where typeid='$parentid'"</font></span><span>); </span> </li> <li class=""><span> } </span></li> <li class="alt"> <span> }</span><span class="comment"><font color="#008200">//for循环结束 </font></span><span> </span> </li> <li class=""> <span> </span><span class="comment"><font color="#008200">//更新该版面排序以及大于本需要和同在本分类下的版面排序序号 </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"update b_mtype set orders=orders+1 where rootid='$rootid' and orders>'$orders'"</font></span><span>); </span> </li> <li class=""> <span> </span><span class="comment"><font color="#008200">//$orders1=$orders+1; </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="comment"><font color="#008200">//echo "orders1=".$orders1; </font></span><span> </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"update b_mtype set orders='$orders'+1 where typeid='$ntid'"</font></span><span>); </span> </li> <li class="alt"><span> </span></li> <li class=""> <span> }</span><span class="keyword"><strong><font color="#006699">else</font></strong></span><span>{ </span><span class="comment"><font color="#008200">//对应if ($depth>0),当上级分类深度为0的时候只要更新上级分类版面数和该版面排序序号即可 </font></span><span> </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"update b_mtype set child=child+1 where typeid='$btype'"</font></span><span>); </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$result</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select max(orders) from b_mtype where typeid='$ntid'"</font></span><span>); </span> </li> <li class="alt"> <span> </span><span class="vars"><font color="#dd0000">$ord</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$result</font></span><span>); </span> </li> <li class=""> <span> </span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"update b_mtype set orders='$ord[0]'+1 where typeid='$ntid'"</font></span><span>); </span> </li> <li class="alt"><span> } </span></li> <li class=""><span> </span></li> <li class="alt"><span>} </span></li> <li class=""><span> </span></li> <li class="alt"> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">""</font></span><span>; </span> </li> <li class=""> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"alert('类别添加成功!');"</font></span><span>; </span> </li> <li class="alt"> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"location.href='?';"</font></span><span>; </span> </li> <li class=""> <span></span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">""</font></span><span>; </span> </li> <li class="alt"><span>} </span></li> <li class=""><span>?> </span></li> <li class="alt"><span> </span></li> <li class=""><span><span class="comment"><font color="#008200">////修改设置 </font></span><span> </span></span></li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">function</font></strong></span><span> edit(){ </span> </li> <li class=""> <span> </span><span class="comment"><font color="#008200">//global $db,$editid,$tn,$arr; </font></span><span> </span> </li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="vars"><font color="#dd0000">$editid</font></span><span>=</span><span class="vars"><font color="#dd0000">$_REQUEST</font></span><span>[</span><span class="string"><font color="#0000ff">"editid"</font></span><span>]; </span> </li> <li class="alt"><span> </span></li> <li class=""> <span></span><span class="vars"><font color="#dd0000">$result</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select * from b_mtype where typeid='$editid'"</font></span><span>); </span> </li> <li class="alt"> <span></span><span class="vars"><font color="#dd0000">$tn</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$result</font></span><span>); </span> </li> <li class=""><span>?> </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"form2"</font></span><span> action =</span><span class="string"><font color="#0000ff">"?ToDo=saveedit"</font></span><span> method=</span><span class="string"><font color="#0000ff">"post"</font></span><span>> </span></span></li> <li class=""><span><span class="string"><font color="#0000ff">"hidden"</font></span><span> name=</span><span class="string"><font color="#0000ff">"editid"</font></span><span> value=</span><span class="string"><font color="#0000ff">""</font></span><span>> </span></span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"90%"</font></span><span> border=</span><span class="string"><font color="#0000ff">"0"</font></span><span> align=center cellpadding=</span><span class="string"><font color="#0000ff">"3"</font></span><span> cellspacing=</span><span class="string"><font color="#0000ff">"1"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#CCCCCC"</font></span><span>> </span></span></li> <li class=""><span> </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"#698FC7"</font></span><span> </span><span class="keyword"><strong><font color="#006699">class</font></strong></span><span>=</span><span class="string"><font color="#0000ff">"STYLE2"</font></span><span>>编辑类别:<span class="func">echo</span><span> </span><span class="vars"><font color="#dd0000">$tn</font></span><span>[</span><span class="string"><font color="#0000ff">"typename"</font></span><span>];?> </span></span><li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span><span class="string"><font color="#0000ff">"44%"</font></span><span> height=30 bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>>类别名称 </span></span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"56%"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>> </span></span></li> <li class=""><span><span class="string"><font color="#0000ff">"text"</font></span><span> name=</span><span class="string"><font color="#0000ff">"typename"</font></span><span> size=</span><span class="string"><font color="#0000ff">"35"</font></span><span> value=</span><span class="string"><font color="#0000ff">"</font></span><span>typename</span><span class="string"><font color="#0000ff">"];?>"</font></span><span>> </span></span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"44%"</font></span><span> height=30 bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>>所属类别 </span></span></li> <li class=""><span> <span class="keyword"><strong><font color="#006699">class</font></strong></span><span>=</span><span class="string"><font color="#0000ff">"STYLE1"</font></span><span>>特别提示: </span></span></li> <li class="alt"><span> 所属类别不能指定当前类别(即自己)为父类别 </span></li> <li class=""><span> 所属类别不能指定当前类别的子类别为父类别 </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"56%"</font></span><span> bgcolor=</span><span class="string"><font color="#0000ff">"#FFFFFF"</font></span><span>> </span></span></li> <li class=""><span><span class="string"><font color="#0000ff">"class"</font></span><span>> </span></span></li> <li class="alt"><span><span class="string"><font color="#0000ff">"0"</font></span><span>>做为主类别 </span></span></li> <li class=""><span><li class="alt"> <span></span><span class="vars"><font color="#dd0000">$query</font></span><span>=mysql_query(</span><span class="string"><font color="#0000ff">"select * from b_mtype order by rootid,orders"</font></span><span>); </span> </li></span></li> <li class=""><span> </span></li> <li class="alt"> <span></span><span class="keyword"><strong><font color="#006699">while</font></strong></span><span>(</span><span class="vars"><font color="#dd0000">$arr</font></span><span>=mysql_fetch_array(</span><span class="vars"><font color="#dd0000">$query</font></span><span>)) </span> </li></span></li> <li class=""><span>{ ?> </span></li> <li class="alt"><span><span class="string"><font color="#0000ff">""</font></span><span> <span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$tn</font></span><span>[</span><span class="string"><font color="#0000ff">"parentid"</font></span><span>] == </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"typeid"</font></span><span>]) { </span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"selected"</font></span><span>; } ?>><span class="keyword"><strong><font color="#006699">if</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"depth"</font></span><span>]>0) {?> </span></span><li class=""><span><span class="keyword"><strong><font color="#006699">for</font></strong></span><span> (</span><span class="vars"><font color="#dd0000">$i</font></span><span>=1;</span><span class="vars"><font color="#dd0000">$i</font></span><span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"depth"</font></span><span>];</span><span class="vars"><font color="#dd0000">$i</font></span><span>++){ </span><span class="func">echo</span><span> </span><span class="string"><font color="#0000ff">"-"</font></span><span>;}?> </span></span><li class="alt"><span><span class="func">echo</span><span> </span><span class="vars"><font color="#dd0000">$arr</font></span><span>[</span><span class="string"><font color="#0000ff">"typename"</font></span><span>]?> </span></span></li> <li class=""><span><li class="alt"><span>} </span></li> <li class=""><span>?> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span> </span></li> <li class="alt"><span> </span></li> <li class=""><span><span class="string"><font color="#0000ff">"44%"</font></span><span> height=2</span></span></li></span></li></span></li></span></span></li> </ol>

絕對會話超時從會話創建時開始計時,閒置會話超時則從用戶無操作時開始計時。絕對會話超時適用於需要嚴格控制會話生命週期的場景,如金融應用;閒置會話超時適合希望用戶長時間保持會話活躍的應用,如社交媒體。

服務器會話失效可以通過以下步驟解決:1.檢查服務器配置,確保會話設置正確。 2.驗證客戶端cookies,確認瀏覽器支持並正確發送。 3.檢查會話存儲服務,如Redis,確保其正常運行。 4.審查應用代碼,確保會話邏輯正確。通過這些步驟,可以有效診斷和修復會話問題,提升用戶體驗。

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

設置httponly標誌對會話cookie至關重要,因為它能有效防止XSS攻擊,保護用戶會話信息。具體來說,1)httponly標誌阻止JavaScript訪問cookie,2)在PHP和Flask中可以通過setcookie和make_response設置該標誌,3)儘管不能防範所有攻擊,但應作為整體安全策略的一部分。

phpsessions solvathepromblymaintainingStateAcrossMultipleHttpRequestsbyStoringDataTaNthEserVerAndAssociatingItwithaIniquesestionId.1)他們儲存了AtoredAtaserver side,通常是Infilesordatabases,InseasessessionIdStoreDistordStoredStoredStoredStoredStoredStoredStoreDoreToreTeReTrestaa.2)

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器