求助~!!! 有没有人能帮我呢~??? 真的很急~!!!关于添加功能的问题~!!! if(isset($_COOKIE['COOKIE_IP'])) exit();可能你localhost上register_globals = On而server上是off,off的话,$COOKIE_IP不是你cookie的变量名。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if(isset($COOKIE_IP)) exit();setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+86400);===>if(isset($HTTP_COOKIE_VARS['COOKIE_IP'])) exit();setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+86400);使用统一的表述方式,已排除设置引起的麻烦 if (!defined('ESP_BASE')) define('ESP_BASE', dirname(dirname(__FILE__)) .'/'); $CONFIG = ESP_BASE . 'admin/phpESP.ini.php'; if(!file_exists($CONFIG)) { echo("<b>FATAL: Unable to open config file Aborting.</b>"); exit; } if(!extension_loaded('mysql')) { echo('<b>FATAL: Mysql extension not loaded. Aborting.</b>'); exit; } require_once($CONFIG); esp_init_db(); $_name = ''; $_title = ''; $_css = ''; if (isset($HTTP_GET_VARS['name'])) { $_name = _addslashes($HTTP_GET_VARS['name']); unset($HTTP_GET_VARS['name']); $HTTP_SERVER_VARS['QUERY_STRING'] = ereg_replace('(^|&)name=[^&]*&?', '', $HTTP_SERVER_VARS['QUERY_STRING']); } if (!empty($_name)) { $_sql = "SELECT id,title,theme FROM survey WHERE name = '$_name'"; if ($_result = mysql_query($_sql)) { if (mysql_num_rows($_result) > 0) list($sid, $_title, $_css) = mysql_fetch_row($_result); mysql_free_result($_result); } unset($_sql); unset($_result); } // call the handler-prefix once $sid is set to handle // authentication / authorization include($ESPCONFIG['handler_prefix']); if (empty($_name) && isset($sid) && $sid) { $_sql = "SELECT title,theme FROM survey WHERE id = '$sid'"; if ($_result = mysql_query($_sql)) { if (mysql_num_rows($_result) > 0){ list($_title, $_css) = mysql_fetch_row($_result); } mysql_free_result($_result); } unset($_sql); unset($_result); }?><html><head><title><?php echo($_title); ?></title><?php if (!empty($_css)) { echo('<link rel="stylesheet" href="'. $GLOBALS['ESPCONFIG']['css_url'].$_css ."\" type=\"text/css\">\n"); } unset($_css);?></head><body><?php unset($_name); unset($_title); include($ESPCONFIG['handler']);?></body></html> 以上是 servey.php ********************************************************************************//******************************************************************************* if(isset($HTTP_COOKIE_VARS['COOKIE_IP'])) { echo " Error !!! Please wait 13 min ... "; exit(); } setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+13);//******************************************************************************* if (defined('ESP-HANDLER-PREFIX')) return; define('ESP-HANDLER-PREFIX', true); if (!defined('ESP_BASE')) define('ESP_BASE', dirname(dirname(__FILE__)) .'/'); //取前两级的路径名即: phpESP-1.6.1 require_once(ESP_BASE . '/admin/phpESP.ini.php'); require_once($ESPCONFIG['include_path']."/funcs".$ESPCONFIG['extension']); //包括支持文件 phpESP.ini.php 、 .inc $GLOBALS['errmsg'] = ''; if(isset($HTTP_GET_VARS['sid'])) { //GET 传递过来的 'sid' 存在 显示错误信息. $GLOBALS['errmsg'] = mkerror(_('Error processing survey: Security violation.')); return; } if(isset($HTTP_GET_VARS['results']) || isset($HTTP_POST_VARS['results'])) { //GET 传递过来的 'sid' 存在 显示错误信息. $GLOBALS['errmsg'] = mkerror(_('Error processing survey: Security violation.')); return; } if (isset($sid) && !empty($sid)) $sid = intval($sid); //将 $sid 转化为整型. else if (isset($HTTP_POST_VARS['sid']) && !empty($HTTP_POST_VARS['sid'])) $sid = intval($HTTP_POST_VARS['sid']); if(!isset($sid) || empty($sid)) { //不存在 $sid 或者 $sid 为空. $GLOBALS['errmsg'] = mkerror(_('Error processing survey: Survey not specified.')); return; } if(empty($HTTP_POST_VARS['userid'])) { // find remote user id (takes the first non-empty of the following) // 1. a GET variable named 'userid' // 2. the REMOTE_USER set by HTTP-Authentication // 3. the query string // 4. the remote ip address if (!empty($HTTP_GET_VARS['userid'])) { $HTTP_POST_VARS['userid'] = $HTTP_GET_VARS['userid']; } elseif(!empty($HTTP_SERVER_VARS['REMOTE_USER'])) { $HTTP_POST_VARS['userid'] = $HTTP_SERVER_VARS['REMOTE_USER']; } elseif(!empty($HTTP_SERVER_VARS['QUERY_STRING'])) { $HTTP_POST_VARS['userid'] = urldecode($HTTP_SERVER_VARS['QUERY_STRING']); //解码 'QUERY_STRING' } else { $HTTP_POST_VARS['userid'] = $HTTP_SERVER_VARS['REMOTE_ADDR']; //将当前 IP 赋值给 'userid' } } if(empty($HTTP_POST_VARS['referer'])) //判断 '提交值' $HTTP_POST_VARS['referer'] = isset($HTTP_SERVER_VARS['HTTP_REFERER']) ? $HTTP_SERVER_VARS['HTTP_REFERER'] : ''; if (empty($HTTP_POST_VARS['rid'])) $HTTP_POST_VARS['rid'] = ''; else $HTTP_POST_VARS['rid'] = intval($HTTP_POST_VARS['rid']) ? intval($HTTP_POST_VARS['rid']) : ''; if($ESPCONFIG['auth_response']) { //判断 '授权相应' // check for authorization on the survey require_once($ESPCONFIG['include_path']."/lib/espauth".$ESPCONFIG['extension']); $espuser = ''; $esppass = ''; if (isset($HTTP_SERVER_VARS['PHP_AUTH_USER'])) $espuser = $HTTP_SERVER_VARS['PHP_AUTH_USER']; if (isset($HTTP_SERVER_VARS['PHP_AUTH_PW'])) $esppass = $HTTP_SERVER_VARS['PHP_AUTH_PW']; if(!survey_auth($sid, addslashes($espuser), addslashes($esppass))) //将 $espuser 和 $esppass 加上斜线以便用来做数据库查询. return; if (auth_get_option('resume')) { $HTTP_POST_VARS['rid'] = auth_get_rid($sid, addslashes($espuser), $HTTP_POST_VARS['rid']); if (!empty($HTTP_POST_VARS['rid']) && (empty($HTTP_POST_VARS['sec']) || intval($HTTP_POST_VARS['sec']) < 1)) { $HTTP_POST_VARS['sec'] = response_select_max_sec($sid, $HTTP_POST_VARS['rid']); } } } if (empty($HTTP_POST_VARS['sec'])) $HTTP_POST_VARS['sec'] = 1; else $HTTP_POST_VARS['sec'] = (intval($HTTP_POST_VARS['sec']) > 0) ? intval($HTTP_POST_VARS['sec']) : 1; define('ESP-AUTH-OK', true);?> 以上是 handler-prefix.php******************************************************************************* $COOKIE_IP=$_COOKIE['COOKIE_IP'];echo $COOKIE_IP;//看看有没有值 if(isset($COOKIE_IP)) exit(); setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+86400);要学会调试!!! if (!defined('ESP_BASE')) define('ESP_BASE', dirname(dirname(__FILE__)) .'/'); require_once(ESP_BASE . '/admin/phpESP.ini.php'); require_once($ESPCONFIG['include_path']."/funcs".$ESPCONFIG['extension']); require_once($ESPCONFIG['handler_prefix']); if(!defined('ESP-AUTH-OK')) { if (!empty($GLOBALS['errmsg'])) echo($GLOBALS['errmsg']); return; } esp_init_db(); if (empty($HTTP_POST_VARS['referer'])) $HTTP_POST_VARS['referer'] = ''; // show results instead of show survey // but do not allow getting results from URL or FORM if(isset($results) && $results) { // small security issue here, anyone could pick a QID to crossanalyze survey_results($sid,$precision,$totals,$qid,$cids); return; } // else draw the survey 否则 提取调查 $sql = "SELECT status, name FROM survey WHERE id='${sid}'"; $result = mysql_query($sql); if ($result && mysql_num_rows($result) > 0) list ($status, $name) = mysql_fetch_row($result); else $status = 0; if($status & ( STATUS_DONE | STATUS_DELETED )) { echo(mkerror(_('Error processing survey: Survey is not active.'))); return; } if(!($status & STATUS_ACTIVE)) { if(!(isset($test) && $test && ($status & STATUS_TEST))) { echo(mkerror(_('Error processing survey: Survey is not active.'))); return; } } if ($HTTP_POST_VARS['referer'] == $ESPCONFIG['autopub_url']) $HTTP_POST_VARS['referer'] .= "?name=$name"; $num_sections = survey_num_sections($sid); $msg = ''; $action = 'http://' . $HTTP_SERVER_VARS['HTTP_HOST'] . $HTTP_SERVER_VARS['PHP_SELF']; if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) $action .= "?" . $HTTP_SERVER_VARS['QUERY_STRING']; if(!empty($HTTP_POST_VARS['submit'])) { $msg = response_check_required($sid,$HTTP_POST_VARS['sec']); if(empty($msg)) { if ($ESPCONFIG['auth_response'] && auth_get_option('resume')) response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']); $HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']); response_commit($HTTP_POST_VARS['rid']); response_send_email($sid,$HTTP_POST_VARS['rid']); goto_thankyou($sid,$HTTP_POST_VARS['referer']); return; } } if(!empty($HTTP_POST_VARS['resume']) && $ESPCONFIG['auth_response'] && auth_get_option('resume')) { response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']); $HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']); if ($action == $ESPCONFIG['autopub_url']) goto_saved("$action?name=$name"); else goto_saved($action); return; } if(!empty($HTTP_POST_VARS['next'])) { $msg = response_check_required($sid,$HTTP_POST_VARS['sec']); if(empty($msg)) { if ($ESPCONFIG['auth_response'] && auth_get_option('resume')) response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']); $HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']); $HTTP_POST_VARS['sec']++; } } if (!empty($HTTP_POST_VARS['prev']) && $ESPCONFIG['auth_response'] && auth_get_option('navigate')) { if(empty($msg)) { if (auth_get_option('resume')) response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']); $HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']); $HTTP_POST_VARS['sec']--; } } if ($ESPCONFIG['auth_response'] && auth_get_option('resume')) response_import_sec($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']); ?><script language="JavaScript"><!-- // Begin <?php // This should really go into <head> tag ?>function other_check(name){ other = name.split("_"); var f = document.phpesp_response; for (var i=0; i<=f.elements.length; i++) { if (f.elements[i].value == "other_"+other[1]) { f.elements[i].checked=true; break; } }}// End --></script><form method="post" name="phpesp_response" action="<?php echo($action); ?>"><input type="hidden" name="referer" value="<?php echo htmlspecialchars($HTTP_POST_VARS['referer']); ?>"><input type="hidden" name="userid" value="<?php echo($HTTP_POST_VARS['userid']); ?>"><input type="hidden" name="sid" value="<?php echo($sid); ?>"><input type="hidden" name="rid" value="<?php echo($HTTP_POST_VARS['rid']); ?>"><input type="hidden" name="sec" value="<?php echo($HTTP_POST_VARS['sec']); ?>"><?php survey_render($sid,$HTTP_POST_VARS['sec'],$msg); ?><?php if ($ESPCONFIG['auth_response']) { if (auth_get_option('navigate') && $HTTP_POST_VARS['sec'] > 1) { ?> <input type="submit" name="prev" value="Previous Page"><?php } if (auth_get_option('resume')) { ?> <input type="submit" name="resume" value="Save"><?php } } if($HTTP_POST_VARS['sec'] == $num_sections) { ?> <input type="submit" name="submit" value="Submit Survey"><?php } else { ?> <input type="submit" name="next" value="Next Page"><?php } ?></form> 以上是 handler.php******************************************************************************* 我将 COOKIE 放在了 handler-prefix.php 的最上面。 可是运行的时候并不是我想要的效果。 我是想控制两次投票之间的时间。 现在变成 页面转换之间都需要等 COOKIE 失效。 谁能帮帮我??? 代码应该加在什么地方??? 还有我想控制同一个 IP 的用户在一天的时间里面 只能投票一次。 怎么实现??? setcookie还有一个path的参数,如果你不设path,则在上级目录设置的cookie,下级目录不可以改变其值,看看是不是这个问题引起的 谢谢~! 好像不是这个问题,因为每次执行页面切换的时候都要调用 handler-prefix.php 所以我加到这个上面出现了这个问题。 我现在想知道哪个地方只针对投票页面的。 也就是说将 COOKIE 放在哪个地方只实现控制两次投票之间的时间间隔。 现在变成了每只向一次页面‘跳转’就需要等 COOKIE 失效。 谁能帮忙看看呢? 真的很重要,也很急。 为什么没有人能帮我呢? 这个对我很重要的,真的~! 我就是想知道因该将这两个 COOKIE 添加到代码的什么地方 大家帮帮忙吧~! 我现在已经写好啦 测试好的 功能模块 就是用来控制投票时间 和 相同 IP 的用户在一天之内只能投票一次。 可是还是没有能够找到合适的添加地方。 总是在页面跳转的时候检测 COOKIE 弄得我都快疯啦~!!! 有没有人能帮帮我呢~??? 我就是想知道那个地方是控制两次投票的地方 希望大家指点一下我啦~!!! 十分感谢 我觉得你判断cooky是否存在很像没有什么意义。你要判断的是这个ip是否投过票。你需要的是建立起ip与透过票的关系。 这个是两个功能: 第一个:使用 COOKIE 控制两次投票之间的时间。 第二个:使用 IP 效验 判断是否为同一个用户重复投票。 我现在最大的问题不是这两个功能,而是这两个功能应该添加到代码的什么地方。 这个调查没有投票页面(是直接从 数据库 中取出激活的投票数据 来生成页面) 所以我找不到应该添加的合适地方 如果谁认为能够解决这个问题的话,帮帮我 这个对我来说实在是太困难啦~! 郁闷死啦…… 如果虚拟主机中PHP程序的访问过大如何进行友好提示? mysql_errno()的问题 windows 2003 下 IIS 6 如何配置 PHP 求一mysql查询语句 [求救]在PHP中如何取到flash send()過來的數據 找一下这个页面第二页的URL? 问一查询语句 session又遇到一个小问题,不是太懂,请教。 php获得文件扩展名三法。 刚写的MySQL数据库结构文档生成器(V1.0) 以下语句是否正确呢? 如何用PHP生成饼状的统计图
setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+86400);===>if(isset($HTTP_COOKIE_VARS['COOKIE_IP'])) exit();
setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+86400);使用统一的表述方式,已排除设置引起的麻烦
define('ESP_BASE', dirname(dirname(__FILE__)) .'/'); $CONFIG = ESP_BASE . 'admin/phpESP.ini.php';
if(!file_exists($CONFIG)) {
echo("<b>FATAL: Unable to open config file Aborting.</b>");
exit;
}
if(!extension_loaded('mysql')) {
echo('<b>FATAL: Mysql extension not loaded. Aborting.</b>');
exit;
}
require_once($CONFIG);
esp_init_db();
$_name = '';
$_title = '';
$_css = '';
if (isset($HTTP_GET_VARS['name'])) {
$_name = _addslashes($HTTP_GET_VARS['name']);
unset($HTTP_GET_VARS['name']);
$HTTP_SERVER_VARS['QUERY_STRING'] =
ereg_replace('(^|&)name=[^&]*&?', '', $HTTP_SERVER_VARS['QUERY_STRING']);
} if (!empty($_name)) {
$_sql = "SELECT id,title,theme FROM survey WHERE name = '$_name'";
if ($_result = mysql_query($_sql)) {
if (mysql_num_rows($_result) > 0)
list($sid, $_title, $_css) = mysql_fetch_row($_result);
mysql_free_result($_result);
}
unset($_sql);
unset($_result);
} // call the handler-prefix once $sid is set to handle
// authentication / authorization
include($ESPCONFIG['handler_prefix']); if (empty($_name) && isset($sid) && $sid) {
$_sql = "SELECT title,theme FROM survey WHERE id = '$sid'";
if ($_result = mysql_query($_sql)) {
if (mysql_num_rows($_result) > 0){
list($_title, $_css) = mysql_fetch_row($_result);
}
mysql_free_result($_result);
}
unset($_sql);
unset($_result);
}?>
<html>
<head><title><?php echo($_title); ?></title>
<?php
if (!empty($_css)) {
echo('<link rel="stylesheet" href="'. $GLOBALS['ESPCONFIG']['css_url'].$_css ."\" type=\"text/css\">\n");
}
unset($_css);
?>
</head>
<body>
<?php
unset($_name);
unset($_title);
include($ESPCONFIG['handler']);
?>
</body>
</html>
以上是 servey.php
********************************************************************************//*******************************************************************************
if(isset($HTTP_COOKIE_VARS['COOKIE_IP']))
{
echo " Error !!! Please wait 13 min ... ";
exit();
}
setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+13);
//*******************************************************************************
if (defined('ESP-HANDLER-PREFIX'))
return; define('ESP-HANDLER-PREFIX', true); if (!defined('ESP_BASE'))
define('ESP_BASE', dirname(dirname(__FILE__)) .'/'); //取前两级的路径名即: phpESP-1.6.1 require_once(ESP_BASE . '/admin/phpESP.ini.php');
require_once($ESPCONFIG['include_path']."/funcs".$ESPCONFIG['extension']); //包括支持文件 phpESP.ini.php 、 .inc $GLOBALS['errmsg'] = ''; if(isset($HTTP_GET_VARS['sid'])) { //GET 传递过来的 'sid' 存在 显示错误信息.
$GLOBALS['errmsg'] = mkerror(_('Error processing survey: Security violation.'));
return;
} if(isset($HTTP_GET_VARS['results']) || isset($HTTP_POST_VARS['results'])) { //GET 传递过来的 'sid' 存在 显示错误信息.
$GLOBALS['errmsg'] = mkerror(_('Error processing survey: Security violation.'));
return;
} if (isset($sid) && !empty($sid))
$sid = intval($sid); //将 $sid 转化为整型.
else if (isset($HTTP_POST_VARS['sid']) && !empty($HTTP_POST_VARS['sid']))
$sid = intval($HTTP_POST_VARS['sid']); if(!isset($sid) || empty($sid)) { //不存在 $sid 或者 $sid 为空.
$GLOBALS['errmsg'] = mkerror(_('Error processing survey: Survey not specified.'));
return;
} if(empty($HTTP_POST_VARS['userid'])) {
// find remote user id (takes the first non-empty of the following)
// 1. a GET variable named 'userid'
// 2. the REMOTE_USER set by HTTP-Authentication
// 3. the query string
// 4. the remote ip address
if (!empty($HTTP_GET_VARS['userid'])) {
$HTTP_POST_VARS['userid'] = $HTTP_GET_VARS['userid'];
} elseif(!empty($HTTP_SERVER_VARS['REMOTE_USER'])) {
$HTTP_POST_VARS['userid'] = $HTTP_SERVER_VARS['REMOTE_USER'];
} elseif(!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
$HTTP_POST_VARS['userid'] = urldecode($HTTP_SERVER_VARS['QUERY_STRING']); //解码 'QUERY_STRING'
} else {
$HTTP_POST_VARS['userid'] = $HTTP_SERVER_VARS['REMOTE_ADDR']; //将当前 IP 赋值给 'userid'
}
} if(empty($HTTP_POST_VARS['referer'])) //判断 '提交值'
$HTTP_POST_VARS['referer'] = isset($HTTP_SERVER_VARS['HTTP_REFERER']) ?
$HTTP_SERVER_VARS['HTTP_REFERER'] : ''; if (empty($HTTP_POST_VARS['rid']))
$HTTP_POST_VARS['rid'] = '';
else
$HTTP_POST_VARS['rid'] = intval($HTTP_POST_VARS['rid']) ?
intval($HTTP_POST_VARS['rid']) : ''; if($ESPCONFIG['auth_response']) { //判断 '授权相应'
// check for authorization on the survey
require_once($ESPCONFIG['include_path']."/lib/espauth".$ESPCONFIG['extension']);
$espuser = ''; $esppass = '';
if (isset($HTTP_SERVER_VARS['PHP_AUTH_USER']))
$espuser = $HTTP_SERVER_VARS['PHP_AUTH_USER'];
if (isset($HTTP_SERVER_VARS['PHP_AUTH_PW']))
$esppass = $HTTP_SERVER_VARS['PHP_AUTH_PW']; if(!survey_auth($sid, addslashes($espuser), addslashes($esppass))) //将 $espuser 和 $esppass 加上斜线以便用来做数据库查询.
return; if (auth_get_option('resume')) {
$HTTP_POST_VARS['rid'] = auth_get_rid($sid, addslashes($espuser),
$HTTP_POST_VARS['rid']); if (!empty($HTTP_POST_VARS['rid']) && (empty($HTTP_POST_VARS['sec']) ||
intval($HTTP_POST_VARS['sec']) < 1))
{
$HTTP_POST_VARS['sec'] = response_select_max_sec($sid,
$HTTP_POST_VARS['rid']);
}
}
} if (empty($HTTP_POST_VARS['sec']))
$HTTP_POST_VARS['sec'] = 1;
else
$HTTP_POST_VARS['sec'] = (intval($HTTP_POST_VARS['sec']) > 0) ?
intval($HTTP_POST_VARS['sec']) : 1; define('ESP-AUTH-OK', true);?> 以上是 handler-prefix.php
*******************************************************************************
echo $COOKIE_IP;//看看有没有值
if(isset($COOKIE_IP)) exit();
setcookie("COOKIE_IP",$HTTP_SERVER_VARS['REMOTE_ADDR'],time()+86400);
要学会调试!!!
define('ESP_BASE', dirname(dirname(__FILE__)) .'/'); require_once(ESP_BASE . '/admin/phpESP.ini.php');
require_once($ESPCONFIG['include_path']."/funcs".$ESPCONFIG['extension']);
require_once($ESPCONFIG['handler_prefix']);
if(!defined('ESP-AUTH-OK')) {
if (!empty($GLOBALS['errmsg']))
echo($GLOBALS['errmsg']);
return;
}
esp_init_db(); if (empty($HTTP_POST_VARS['referer']))
$HTTP_POST_VARS['referer'] = ''; // show results instead of show survey
// but do not allow getting results from URL or FORM
if(isset($results) && $results) {
// small security issue here, anyone could pick a QID to crossanalyze
survey_results($sid,$precision,$totals,$qid,$cids);
return;
} // else draw the survey 否则 提取调查
$sql = "SELECT status, name FROM survey WHERE id='${sid}'";
$result = mysql_query($sql);
if ($result && mysql_num_rows($result) > 0)
list ($status, $name) = mysql_fetch_row($result);
else
$status = 0; if($status & ( STATUS_DONE | STATUS_DELETED )) {
echo(mkerror(_('Error processing survey: Survey is not active.')));
return;
}
if(!($status & STATUS_ACTIVE)) {
if(!(isset($test) && $test && ($status & STATUS_TEST))) {
echo(mkerror(_('Error processing survey: Survey is not active.')));
return;
}
} if ($HTTP_POST_VARS['referer'] == $ESPCONFIG['autopub_url'])
$HTTP_POST_VARS['referer'] .= "?name=$name"; $num_sections = survey_num_sections($sid); $msg = ''; $action = 'http://' . $HTTP_SERVER_VARS['HTTP_HOST'] . $HTTP_SERVER_VARS['PHP_SELF'];
if (!empty($HTTP_SERVER_VARS['QUERY_STRING']))
$action .= "?" . $HTTP_SERVER_VARS['QUERY_STRING']; if(!empty($HTTP_POST_VARS['submit'])) {
$msg = response_check_required($sid,$HTTP_POST_VARS['sec']);
if(empty($msg)) {
if ($ESPCONFIG['auth_response'] && auth_get_option('resume'))
response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']);
$HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']);
response_commit($HTTP_POST_VARS['rid']);
response_send_email($sid,$HTTP_POST_VARS['rid']);
goto_thankyou($sid,$HTTP_POST_VARS['referer']);
return;
}
} if(!empty($HTTP_POST_VARS['resume']) && $ESPCONFIG['auth_response'] && auth_get_option('resume')) {
response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']);
$HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']);
if ($action == $ESPCONFIG['autopub_url'])
goto_saved("$action?name=$name");
else
goto_saved($action);
return;
} if(!empty($HTTP_POST_VARS['next'])) {
$msg = response_check_required($sid,$HTTP_POST_VARS['sec']);
if(empty($msg)) {
if ($ESPCONFIG['auth_response'] && auth_get_option('resume'))
response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']);
$HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']);
$HTTP_POST_VARS['sec']++;
}
}
if (!empty($HTTP_POST_VARS['prev']) && $ESPCONFIG['auth_response'] && auth_get_option('navigate')) {
if(empty($msg)) {
if (auth_get_option('resume'))
response_delete($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']);
$HTTP_POST_VARS['rid'] = response_insert($sid,$HTTP_POST_VARS['sec'],$HTTP_POST_VARS['rid']);
$HTTP_POST_VARS['sec']--;
}
}
if ($ESPCONFIG['auth_response'] && auth_get_option('resume'))
response_import_sec($sid, $HTTP_POST_VARS['rid'], $HTTP_POST_VARS['sec']);
?>
<script language="JavaScript">
<!-- // Begin <?php // This should really go into <head> tag ?>function other_check(name)
{
other = name.split("_");
var f = document.phpesp_response;
for (var i=0; i<=f.elements.length; i++) {
if (f.elements[i].value == "other_"+other[1]) {
f.elements[i].checked=true;
break;
}
}
}
// End -->
</script>
<form method="post" name="phpesp_response" action="<?php echo($action); ?>">
<input type="hidden" name="referer" value="<?php echo htmlspecialchars($HTTP_POST_VARS['referer']); ?>">
<input type="hidden" name="userid" value="<?php echo($HTTP_POST_VARS['userid']); ?>">
<input type="hidden" name="sid" value="<?php echo($sid); ?>">
<input type="hidden" name="rid" value="<?php echo($HTTP_POST_VARS['rid']); ?>">
<input type="hidden" name="sec" value="<?php echo($HTTP_POST_VARS['sec']); ?>">
<?php survey_render($sid,$HTTP_POST_VARS['sec'],$msg); ?>
<?php
if ($ESPCONFIG['auth_response']) {
if (auth_get_option('navigate') && $HTTP_POST_VARS['sec'] > 1) { ?>
<input type="submit" name="prev" value="Previous Page">
<?php
}
if (auth_get_option('resume')) { ?>
<input type="submit" name="resume" value="Save">
<?php
}
}
if($HTTP_POST_VARS['sec'] == $num_sections) { ?>
<input type="submit" name="submit" value="Submit Survey">
<?php } else { ?>
<input type="submit" name="next" value="Next Page">
<?php } ?>
</form> 以上是 handler.php
******************************************************************************* 我将 COOKIE 放在了 handler-prefix.php 的最上面。 可是运行的时候并不是我想要的效果。 我是想控制两次投票之间的时间。 现在变成 页面转换之间都需要等 COOKIE 失效。 谁能帮帮我??? 代码应该加在什么地方??? 还有我想控制同一个 IP 的用户在一天的时间里面 只能投票一次。 怎么实现???
谢谢~! 好像不是这个问题,因为每次执行页面切换的时候都要调用 handler-prefix.php 所以我加到这个上面出现了这个问题。 我现在想知道哪个地方只针对投票页面的。 也就是说将 COOKIE 放在哪个地方只实现控制两次投票之间的时间间隔。 现在变成了每只向一次页面‘跳转’就需要等 COOKIE 失效。 谁能帮忙看看呢? 真的很重要,也很急。
为什么没有人能帮我呢? 这个对我很重要的,真的~! 我就是想知道因该将这两个 COOKIE 添加到代码的什么地方 大家帮帮忙吧~!
我现在已经写好啦 测试好的 功能模块 就是用来控制投票时间 和 相同 IP 的用户在一天之内只能投票一次。 可是还是没有能够找到合适的添加地方。 总是在页面跳转的时候检测 COOKIE 弄得我都快疯啦~!!! 有没有人能帮帮我呢~??? 我就是想知道那个地方是控制两次投票的地方 希望大家指点一下我啦~!!! 十分感谢
这个是两个功能: 第一个:使用 COOKIE 控制两次投票之间的时间。
第二个:使用 IP 效验 判断是否为同一个用户重复投票。 我现在最大的问题不是这两个功能,而是这两个功能应该添加到代码的什么地方。 这个调查没有投票页面(是直接从 数据库 中取出激活的投票数据 来生成页面) 所以我找不到应该添加的合适地方 如果谁认为能够解决这个问题的话,帮帮我 这个对我来说实在是太困难啦~! 郁闷死啦……