0 Comments

广告生成与编辑操作(2)

发布于:2012-11-26  |   作者:广州网站建设  |   已聚集:人围观
广告生成与编辑操作(2)

2.广告编辑

广告编辑的作用是在广告内容调整时,可以通过该程序做出相应的修改。该程序的实现原理与广告生成部分类似,广告编辑的程序执行流程是通过调用判断操作类型,处理从表单中获得的修改信息,调用公共函数库中的allen_file()函数完成广告内容的修改操作的。广州网站建设

图15.11  生成广告代码
图15.12  生成广告JS文件
广告编辑的实现代码如下:
广州网站建设
  1. if($_POST["action"]!=""){               //动作流程控制  
  2. //die("$_POST[action] ggg");      
  3. $msg="";     
  4. $tmp=explode("|www_allen|",file_get_contents($dbtable));  
  5. $len=count($tmp);                       //取得列数  
  6. for($i=0;$i<$len;$i++){  
  7. $tmp[$i] = trim($tmp[$i]);  
  8. if($tmp[$i] == "") continue;  
  9.     $info=explode("|allen|",$tmp[$i]);    
  10. if($info[0]==$_POST[id]){               //获得广告id  
  11.                                         //处理生成内容  
  12.     $msgk=array($id,$nx,$data,$notice,$gge);  
  13.     $msgk2 = implode("|allen|",$msgk);  
  14.     $msg.=$msgk2."|www_allen|";  
  15.     continue;  
  16. }  
  17. $rows=$tmp[$i];  
  18. $msg.=$rows."|www_allen|";  
  19. }  
  20. //echo "\--$msg--";  
  21. $fp=fopen("$dbtable","w");  //打开指定文件“w+”(打开文件方式为可读写)  
  22. @fwrite($fp,$msg); //echo "成功!!<A href=?".$_SERVER['QUERY_STRING'].">跳转</A>";  
  23. fclose($fp);  
  24. //判断类型  
  25. if($nx=="纯HTML"){  
  26.     $data=allen_thu($data);  
  27.     allen_file($data,"$addata/$id.js");  
  28.     }else{  
  29.     allen_file($data,"$addata/$id.js");  
  30.     }  
  31. echo "<meta HTTP-EQUIV=\"REFRESH\" CONTENT='5;URL=admin.php?action=edit& id=$_POST[id]'> 
  32. <center><br><br>修改该广告成功!<br> 
  33. <a href='admin.php?action=edit&id=$_POST[id]'>继续修改该JS文件</a>&nbsp;  
  34. &nbsp;  
  35. <a href='./'>返回JS管理首页 </a>";  
  36. exit;  
  37. //isok('修改广告成功!');  
  38. }  
  39. //操作类型为“编辑”时的后续操作  
  40. if($_GET[action]=="edit"){  
  41. $msgd=explode("|www_allen|",file_get_contents($dbtable));   
  42. $rows=count($msgd);    
  43. for ($i=0;$i<=$rows;$i++){  
  44. $tmp2=explode("|allen|",$msgd[$i]);    
  45. $msgn[$i]=$tmp2[0];  
  46. //echo $msgn[$i];  
  47. if(eregi("^$id$",$msgn[$i])){  
  48. $chj_nr=$msgd[$i];  
  49. }  
  50. }  
  51. if(!$chj_nr){error("好像没有该广告吧?");}  
  52. $tmp=explode("|allen|",$chj_nr);    
  53. }  
  54. //广告数组标签  
  55. $tmp[2]=str_replace("&","&amp;",StripSlashes("$tmp[2]"));  
  56. $smarty->assign("tmp", $tmp);  
  57. //加载管理模板  
  58. $smarty->display("./admin.html");  

【代码解读】

上面代码的流程与之前介绍过的广告生成程序类似,这里需要注意的是,eregi()函数的功能是不区分大小写的正则表达式匹配。

根据广告编辑程序生成Smarty模板标签,来替换编辑页面的相应内容。替换后的核心的HTML页面代码如下:

广州网站设计
  1. <div align="left"> 
  2. <table width="700" border="1" cellpadding="3" cellspacing="0" 
  3.     bgcolor="#CCCCCC"> 
  4.     <tr> 
  5.         <td width="16%">广告ID:<font color="#FF0000">*</font><br> 
  6.         <br> 
  7.         </td> 
  8.         <td width="84%"><input name="id" type="TEXT" class="input" 
  9.             id="id" value="{|$tmp[0]|}" size="25" maxlength="30" readonly> 
  10.         广告ID不能修改!</td> 
  11.     </tr> 
  12.     <tr> 
  13.         <td height="14">广告类型<font color="#FF0000">*</font>&nbsp;  
  14.         &nbsp;</td> 
  15.         <td height="14"><select name="nx" id="nx"> 
  16.             <option value="脚本式" {|if $tmp[1]=="脚本式"|}selected{|/if|}> 
  17.             脚本式</option> 
  18.             <option value="纯HTML" {|if $tmp[1]=="纯HTML"|}selected  
  19.             {|/if|}>纯HTML</option> 
  20.         </select></td> 
  21.     </tr> 
  22.     <tr> 
  23.         <td>规格(宽*高)</td> 
  24.         <td><input name="gge" type="TEXT" class="input" 
  25.             value="{|$tmp[4]|}" size="20" maxlength="30"></td> 
  26.     </tr> 
  27.     <tr> 
  28.         <td>广告内容<font color="#FF0000">*</font></td> 
  29.         <td><textarea name="data" cols="80" rows="20" wrap="virtual" 
  30.             class="input" id="data" tabindex="2">{|$tmp[2]|}  
  31. </textarea> <br> 
  32.         提示:使用纯HTML代码时,因服务器配置不同,有些服务器不能自动将半角的“'”替  
  33.         换成“\'”,如果代码中含有单引号',请先将代码中的 '替换成“\'”就可以了。</td> 
  34.     </tr> 
  35.     <tr> 
  36.         <td height="86" valign="top"> 
  37.         <p>简单注释:</p> 
  38.         </td> 
  39.         <td valign="middle"><textarea name="notice" cols="80" rows="4" 
  40.             wrap="virtual" class="input" id="notice" tabindex="2"> 
  41.             {|$tmp[3]|}</textarea> 
  42.         </td> 
  43.     </tr> 
  44.     <tr align="center"> 
  45.         <td colspan="2"><input type="submit" name="action" value="修改" 
  46.             class="botton"> <input type="reset" value="重填" class="botton" 
  47.             name="reset"> <input type="button" value="返回上一页" 
  48.             onClick="javascript:history.back(-1);" class='botton'></td> 
  49.     </tr> 
  50.     <tr align="center"> 
  51.         <td colspan="2">调用代码: <input name="Input2" 
  52.             onfocus="this.select()" 
  53.             value='&lt;script type=\"text/javascript\" src=\&quot;/js/  
  54.             {|$tmp[0]|}.js\&quot;&gt;&lt;/script&gt;'  
  55.             size="20" /></td> 
  56.     </tr> 
  57. </table> 
  58. </div> 

广州网站设计

标签:
飞机