功能介绍: 可以随机产生一个投票主题, 其中很多部分尚待扩展!希望有时间的与我交流 ! 首先创建数据库: CREATE TABLE voteadmin ( id int(10) NOT NULL auto_increment, name varchar(200) NOT NULL default '0', select1 varchar(200) NOT NULL default '0', select2 varchar(200) NOT NULL default '0', select3 varchar(200) NOT NULL default '0', select4 varchar(200) NOT NULL default '0', total int(100) NOT NULL default '0', data1 int(100) NOT NULL default '0', data2 int(100) NOT NULL default '0', data3 int(100) NOT NULL default '0', data4 int(100) NOT NULL default '0', UNIQUE KEY name (name), UNIQUE KEY id (id) ) TYPE=MyISAM; index.php refrese.php "; } else { echo "出错了!"; } } else { echo "出错了!"; } } else { echo "出错了!"; } ? showvote.php 补充: tpl.php为一个模板类 setRoot($root); $this-setUnknowns($unknowns); } function setRoot($root) { if (!is_dir($root)) { $this-halt("setRoot: $root is not a directory."); return false; } $this-root = $root; return true; } function setUnknowns($unknowns = "keep") { $this-unknowns = $unknowns; } function setfile($handle, $filename = "") { if (!is_array($handle)) { if ($filename == "") { $this-halt("setFile: For handle $handle filename is empty."); return false; } $this-file[$handle] = $this-_filename($filename); } else { reset($handle); while (list($h, $f) = each($handle)) { $this-file[$h] = $this-_filename($f); } } } function setBlock($parent, $handle, $name = "") { if (!$this-_loadFile($parent)) { $this-halt("subst: unable to load $parent."); return false; } if ($name == "") { $name = $handle; } $str = $this-getVar($parent); $reg = "/(.*)\n\s*/sm"; preg_match_all($reg, $str, $m); $str = preg_replace($reg, "{" . "$name}", $str); $this-setVar($handle, $m[1][0]); $this-setVar($parent, $str); } function setvar($varname, $value = "") { if (!is_array($varname)) { if (!empty($varname)) if ($this-debug) print "scalar: set *$varname* to *$value*\n"; $this-_varKeys[$varname] = "/".$this-_varname($varname)."/"; $this-_varVals[$varname] = $value; } else { reset($varname); while (list($k, $v) = each($varname)) { if (!empty($k)) if ($this-debug) print "array: set *$k* to *$v*\n"; $this-_varKeys[$k] = "/".$this-_varname($k)."/"; $this-_varVals[$k] = $v; } } } function subst($handle) { if (!$this-_loadFile($handle)) { $this-halt("subst: unable to load $handle."); return false; } $str = $this-getVar($handle); $str = @preg_replace($this-_varKeys, $this-_varVals, $str); return $str; } function pSubst($handle) { print $this-subst($handle); return false; } function parse($target, $handle, $append = false) { if (!is_array($handle)) { $str = $this-subst($handle); if ($append) { $this-setVar($target, $this-getVar($target) . $str); } else { $this-setVar($target, $str); } } else { reset($handle); while (list($i, $h) = each($handle))