⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ivote.php3

📁 PHP编写地新闻调查模块。设计比较独特
💻 PHP3
字号:
<?
//############################################################################[LOCK]
function LOCK($db)
{
	if(file_exists("./db/$db/lock")) {
		sleep(1);
	}
	
	$fp = fopen("./db/$db/lock", "w");  
	fwrite($fp, "");
	fclose($fp);
}
function UNLOCK($db)
{
	if(file_exists("./db/$db/lock")) {
		unlink ("./db/$db/lock");
	}
}
//############################################################################[保存意见]
function USER_DATA()
{
global $OPI_CUT,$PHP_SELF,$db,$USER_MSG,$OPI_OPTION,$HTTP_COOKIE_VARS,$REMOTE_ADDR,$HTML;

	if(!$USER_MSG || ereg("其它意见", $USER_MSG)) {
		$msg = "请输入意见."; ERROR($msg);
	}
	
	if($HTTP_COOKIE_VARS[ivote_opi] == $REMOTE_ADDR && $OPI_OPTION == "checked") {
		$msg = "意见只能发布一次."; ERROR($msg);
	}
	
	$DATE = date("[m-d]");
	
	if($HTML != "checked") {
		$USER_MSG = htmlspecialchars($USER_MSG);
	}
	
	LOCK($db);

	if(!file_exists("./db/$db/usermsg")) {
		$fp = fopen("./db/$db/usermsg", "w");  
		fwrite($fp, "$DATE $USER_MSG\n");
		fclose($fp);
	}
	else {
		$V_USER = file("./db/$db/usermsg");

		$fp = fopen("./db/$db/usermsg", "w");  
		fwrite($fp, "$DATE $USER_MSG\n");
			
			while($DATA = each($V_USER)) {
				if($i < $OPI_CUT - 1) {
					fwrite($fp, "$DATA[1]");
					$i++;
				}
			}

		fclose($fp);
	}

	UNLOCK($db);

	setcookie("ivote_opi", "$REMOTE_ADDR", "" , "/");
	
	echo "<html>
	<META http-equiv=\"refresh\" content =\"0;url=$PHP_SELF?db=$db&action=view\">
	</html>";

	exit;
}
//############################################################################[结果页面]
function VIEW_DATA()
{
global $db,$ImgUrl,$PHP_SELF,$OPINION,$TABLE_COLOR,$BGCOLOR,$CELL_COLOR;
global $OPINION_COLOR,$ETC_COLOR,$ETC_BGCOLOR,$ETC_BORDER_COLOR,$CELL_COLOR1,$CUT_NUM;


	if(!file_exists("./db/$db/total")) {
		$V_MSG = "数据不存在."; ERROR($V_MSG);
	}

	$TOTAL = file("./db/$db/total");
	$TOTAL_NUM = $TOTAL[0];

	$VOTE_DATE = file("./db/$db/date");
	$V_DATE = $VOTE_DATE[0];

	$RECORD = file("./db/$db/record");
	$V_NUM = split("\|", $RECORD[0]);
   
	$V_MSG_RECORD = file("./db/$db/msg");
	$V_MSG = split("\|", $V_MSG_RECORD[0]);

echo "
<!---------------------------------------------------------------------------

         PROGRAM NAME : iVOTE
         VERSION : 1.0.0 PHP RELEASE (TEXT FILE SAV
         URL : http://www.e0433.com
         COPYRIGHT E0433.COM ALL RIGHTS RESERVED.

---------------------------------------------------------------------------->
<HTML>
<HEAD>
<TITLE>调查结果</TITLE>
	<STYLE>
	A:LINK {text-decoration:none;}
	A:VISITED {text-decoration:none;}
	V:HOVER {text-decoration:none; hover:red;}
	body,p,br,table,tr,td,form,input {font-size:9pt; font-family:宋体;}
	</STYLE>
<script language=javascript>
	function clearField(field){
		if (field.value == field.defaultValue) {
			field.value = '';
		}
	}
	function checkField(field){
		if (field.value == '') {
			field.value = field.defaultValue;
		}
	}
</script>
</HEAD>
<BODY bgcolor='$BGCOLOR'>
<DIV align=center>
<TABLE BORDER=0 CELLSPACING=1 WIDTH=400>
<tr>
<td align=center><a href=http://www.e0433.com target=_blank>在线调查 - iVOTE 1.0.0</a></td>
</tr>
</TABLE>
<TABLE BORDER=0 CELLSPACING=1 BGCOLOR='$TABLE_COLOR' WIDTH=400>
<TR>
<TD align=right colspan=2> 调查结果
[总投票人数 : <FONT color=red>$TOTAL_NUM</FONT>人 开始日期 $V_DATE]
&nbsp;&nbsp;&nbsp;&nbsp;<A href=javascript:self.close();>关闭
</A>
</TD>
</TR>";
if ( !$TOTAL_NUM ) { $TOTAL_NUM = 1; }
for($i = 0; ($i <= 9) && ($V_MSG[$i]); $i++) {
	$x = $i+1;
	$percent[$x] = intval($V_NUM[$i]/$TOTAL_NUM*100);
	$length[$x] = $percent[$x]*2;

	echo "<TR>
	<TD width=100 bgcolor='$CELL_COLOR'> 
	&nbsp;$V_MSG[$i]
	</TD>
	<TD width=300 bgcolor='$CELL_COLOR1'>
	<IMG src=$ImgUrl/$x.gif width=$length[$x] height=5 align=absmiddle>
	<FONT color=gray>$V_NUM[$i]人 ($percent[$x]%)</font>
	</TD>
	</TR>";

}

echo "<TR>
<TD colspan=2 align=right height=20>
<FONT color=gray>
<a href=http://www.e0433.com target=_blank>iVOTE 1.0.0</a>
</FONT>
</TD>
</TR>
</TABLE>
</DIV>";

if($OPINION == "checked") {
	echo "<DIV align=center>
	<TABLE BORDER=0 CELLSPACING=1 WIDTH=403>
	<TR>
	<TD>
	<FORM METHOD=POST ACTION='$PHP_SELF'>
	<INPUT type=hidden name=action value=usermsg>
	<INPUT type=hidden name=db value='$db'>
	<INPUT type=text name=USER_MSG size=48 MAXLENGTH='$CUT_NUM' class=OPINION onBlur='checkField(this)' onFocus='clearField(this)' value='※ 发表意见 (${CUT_NUM}字以内)'>
	<INPUT type=image src=$ImgUrl/serv_button3.gif border=0 align=absmiddle><P>";

	if(file_exists("./db/$db/usermsg")) {
		echo "<FONT color='$OPINION_COLOR'>
		<IMG src=$ImgUrl/line.gif border=0><BR>"; 
		$V_USER = file("./db/$db/usermsg");
		while($DATA = each($V_USER)) {
			$DATA[1] = chop($DATA[1]);
			if($DATA[1]) {
				echo "<IMG src=$ImgUrl/dot2.gif border=0> $DATA[1]
				<BR><IMG src=$ImgUrl/line.gif border=0><BR>";
			}
		}
		echo "</FONT>";
	}

	echo "</TD>
	</TR>
	</TABLE>
	</DIV>
	</FORM>";
}
echo "</BODY>
</HTML>";

exit;

}
//##############################################################################[投票]
function VOTE_DATA()
{
global $db,$num,$HTTP_COOKIE_VARS,$REMOTE_ADDR,$PHP_SELF;


	if ($HTTP_COOKIE_VARS[ivote] != $db) {

		if( !$num ) {
			$msg = "请选择调查选项"; ALERT($msg);
		}

		if(!file_exists("./db/$db/total")) {
			$V_MSG = "数据不存在."; ERROR($V_MSG);
		}

		$TOTAL = file("./db/$db/total");
		$TOTAL_NUM = $TOTAL[0] + 1;

		$RECORD = file("./db/$db/record");
		$V_NUM = split("\|", $RECORD[0]);

		LOCK($db);
			
		$fp = fopen("./db/$db/total", "w");  
		fwrite($fp, "$TOTAL_NUM");
		fclose($fp);

		$V_NUM[$num-1] += 1;

		$fp = fopen("./db/$db/record", "w");  
		fwrite($fp, "$V_NUM[0]|$V_NUM[1]|$V_NUM[2]|$V_NUM[3]|$V_NUM[4]|$V_NUM[5]|$V_NUM[6]|$V_NUM[7]|$V_NUM[8]|$V_NUM[9]|");
		fclose($fp);
		
		UNLOCK($db);

		setcookie("ivote", "$db", "" , "/");
	}
	else {
		echo ( "<script language=javascript>
		window.alert('您已经投票了!.');
		</script>" );
	}

	echo "<html>
	<META http-equiv=\"refresh\" content =\"0;url=$PHP_SELF?db=$db&action=view\">
	</html>";

	exit;
}
//##############################################################################[调查表单]
function VOTE_FORM()
{
global $PHP_SELF,$ImgUrl,$db;

	$V_MSG_RECORD = file("./db/$db/msg");
	$V_MSG = split("\|", $V_MSG_RECORD[0]);

	echo "<HTML>
	<HEAD>
	<TITLE>在线调查 - iVOTE 1.0.0</TITLE>
	<STYLE>
	A:LINK {text-decoration:none;}
	A:VISITED {text-decoration:none;}
	V:HOVER {text-decoration:none; hover:red;}
	</STYLE>
	<SCRIPT LANGUAGE=javascript>
		function VOTE(URL) {
			window.open(URL,'VOTE','resizable=no,scrollbars=yes,status=0,width=440,height=300');
		}
		function iVOTE(){
			window.open('','iVOTE','width=440,height=300,status=0,resizable=no,scrollbars=yes');
		}
	</SCRIPT>
	</HEAD>
	<BODY>
	<FORM METHOD=POST ACTION='$PHP_SELF'  target='iVOTE'>
	<INPUT type=hidden name=action value=vote>
	<INPUT type=hidden name=db value='$db'>";
	
	for( $i = 0; ( $i <= 10 ) && ($V_MSG[$i]); $i++) {
		$num = $i + 1;
		echo "<INPUT type=radio name='num' value='$num'> $V_MSG[$i]<BR>\n";
	}

	echo "<BR><INPUT type=image src='$ImgUrl/serv_button1.gif' border=0 onClick='iVOTE()' target='iVOTE'>
	<A href=javascript:VOTE('$PHP_SELF?db=$db&action=view')>
	<IMG src='$ImgUrl/serv_button2.gif' border=0></A>
	</FORM>
	</BODY>
	</HTML>";

exit;
}

function ERROR($msg)
{
	echo ( "<script language=javascript>
			window.alert('$msg');
			history.go(-1);
			</script>" );
	exit;
}
function ALERT($msg)
{
	echo ( "<script language=javascript>
			window.alert('$msg');
			self.close();
			</script>" );
	exit;
}


	$ImgUrl = "./image";

	if ( $db && is_dir("./db/$db")) {

		$LAYOUT = file("./db/$db/layout");
		$LAY = split("\|", $LAYOUT[0]);

		$OPINION = $LAY[0];
		$OPINION_COLOR = $LAY[1];
		$BGCOLOR = $LAY[2];
		$TABLE_COLOR = $LAY[3];
		$CELL_COLOR = $LAY[4];
		$CELL_COLOR1 = $LAY[5];
		$ETC_COLOR = $LAY[6];
		$ETC_BGCOLOR = $LAY[7];
		$ETC_BORDER_COLOR = $LAY[8];
		$CUT_NUM = $LAY[9];
		$OPI_OPTION = $LAY[10];
		$OPI_CUT = $LAY[11];
		$HTML = $LAY[12];
		
			if ( $action == "view" ) { VIEW_DATA(); }
		elseif ( $action == "vote" ) { VOTE_DATA(); }
		elseif ( $action == "usermsg" ) { USER_DATA(); }
		else   { VOTE_FORM(); }

	}
	else {
		$V_MSG = "项目不存在."; ERROR($V_MSG);
	}


?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -