2.广告编辑
广告编辑的作用是在广告内容调整时,可以通过该程序做出相应的修改。该程序的实现原理与广告生成部分类似,广告编辑的程序执行流程是通过调用判断操作类型,处理从表单中获得的修改信息,调用公共函数库中的allen_file()函数完成广告内容的修改操作的。广州网站建设
![]() |
| 图15.11 生成广告代码 |
![]() |
| 图15.12 生成广告JS文件 |
广州网站建设
- if($_POST["action"]!=""){ //动作流程控制
- //die("$_POST[action] ggg");
- $msg="";
- $tmp=explode("|www_allen|",file_get_contents($dbtable));
- $len=count($tmp); //取得列数
- for($i=0;$i<$len;$i++){
- $tmp[$i] = trim($tmp[$i]);
- if($tmp[$i] == "") continue;
- $info=explode("|allen|",$tmp[$i]);
- if($info[0]==$_POST[id]){ //获得广告id
- //处理生成内容
- $msgk=array($id,$nx,$data,$notice,$gge);
- $msgk2 = implode("|allen|",$msgk);
- $msg.=$msgk2."|www_allen|";
- continue;
- }
- $rows=$tmp[$i];
- $msg.=$rows."|www_allen|";
- }
- //echo "\--$msg--";
- $fp=fopen("$dbtable","w"); //打开指定文件“w+”(打开文件方式为可读写)
- @fwrite($fp,$msg); //echo "成功!!<A href=?".$_SERVER['QUERY_STRING'].">跳转</A>";
- fclose($fp);
- //判断类型
- if($nx=="纯HTML"){
- $data=allen_thu($data);
- allen_file($data,"$addata/$id.js");
- }else{
- allen_file($data,"$addata/$id.js");
- }
- echo "<meta HTTP-EQUIV=\"REFRESH\" CONTENT='5;URL=admin.php?action=edit& id=$_POST[id]'>
- <center><br><br>修改该广告成功!<br>
- <a href='admin.php?action=edit&id=$_POST[id]'>继续修改该JS文件</a>
-
- <a href='./'>返回JS管理首页 </a>";
- exit;
- //isok('修改广告成功!');
- }
- //操作类型为“编辑”时的后续操作
- if($_GET[action]=="edit"){
- $msgd=explode("|www_allen|",file_get_contents($dbtable));
- $rows=count($msgd);
- for ($i=0;$i<=$rows;$i++){
- $tmp2=explode("|allen|",$msgd[$i]);
- $msgn[$i]=$tmp2[0];
- //echo $msgn[$i];
- if(eregi("^$id$",$msgn[$i])){
- $chj_nr=$msgd[$i];
- }
- }
- if(!$chj_nr){error("好像没有该广告吧?");}
- $tmp=explode("|allen|",$chj_nr);
- }
- //广告数组标签
- $tmp[2]=str_replace("&","&",StripSlashes("$tmp[2]"));
- $smarty->assign("tmp", $tmp);
- //加载管理模板
- $smarty->display("./admin.html");
【代码解读】
上面代码的流程与之前介绍过的广告生成程序类似,这里需要注意的是,eregi()函数的功能是不区分大小写的正则表达式匹配。
根据广告编辑程序生成Smarty模板标签,来替换编辑页面的相应内容。替换后的核心的HTML页面代码如下:
广州网站设计
- <div align="left">
- <table width="700" border="1" cellpadding="3" cellspacing="0"
- bgcolor="#CCCCCC">
- <tr>
- <td width="16%">广告ID:<font color="#FF0000">*</font><br>
- <br>
- </td>
- <td width="84%"><input name="id" type="TEXT" class="input"
- id="id" value="{|$tmp[0]|}" size="25" maxlength="30" readonly>
- 广告ID不能修改!</td>
- </tr>
- <tr>
- <td height="14">广告类型<font color="#FF0000">*</font>
- </td>
- <td height="14"><select name="nx" id="nx">
- <option value="脚本式" {|if $tmp[1]=="脚本式"|}selected{|/if|}>
- 脚本式</option>
- <option value="纯HTML" {|if $tmp[1]=="纯HTML"|}selected
- {|/if|}>纯HTML</option>
- </select></td>
- </tr>
- <tr>
- <td>规格(宽*高)</td>
- <td><input name="gge" type="TEXT" class="input"
- value="{|$tmp[4]|}" size="20" maxlength="30"></td>
- </tr>
- <tr>
- <td>广告内容<font color="#FF0000">*</font></td>
- <td><textarea name="data" cols="80" rows="20" wrap="virtual"
- class="input" id="data" tabindex="2">{|$tmp[2]|}
- </textarea> <br>
- 提示:使用纯HTML代码时,因服务器配置不同,有些服务器不能自动将半角的“'”替
- 换成“\'”,如果代码中含有单引号',请先将代码中的 '替换成“\'”就可以了。</td>
- </tr>
- <tr>
- <td height="86" valign="top">
- <p>简单注释:</p>
- </td>
- <td valign="middle"><textarea name="notice" cols="80" rows="4"
- wrap="virtual" class="input" id="notice" tabindex="2">
- {|$tmp[3]|}</textarea>
- </td>
- </tr>
- <tr align="center">
- <td colspan="2"><input type="submit" name="action" value="修改"
- class="botton"> <input type="reset" value="重填" class="botton"
- name="reset"> <input type="button" value="返回上一页"
- onClick="javascript:history.back(-1);" class='botton'></td>
- </tr>
- <tr align="center">
- <td colspan="2">调用代码: <input name="Input2"
- onfocus="this.select()"
- value='<script type=\"text/javascript\" src=\"/js/
- {|$tmp[0]|}.js\"></script>'
- size="20" /></td>
- </tr>
- </table>
- </div>
广州网站设计





