Пользователь
Регистрация: 04.02.2012
Возраст: 35
Сообщений: 87
Отблагодарили 2 раз(а)
Рейтинг мнений:
|
Re: Опрос не работает
Цитата:
Сообщение от Неверный
Вы может код покажите? Или Ромку позвать, чтоб пованговал?
|
Я знал, я знал что надо сразу показать =)
Знач сам опрос состоит из 5 файлов:
Скрипт
Свернуть ↑
PHP код:
<?php
// AB HIER BITTE NICHTS MEHR VERДNDERN, WENN SIE SICH NICHT MIT PHP AUSKENNEN!!!
//##############################################################################
include("poll_cfg.php");
// standartheader ausgabe
function head()
{
echo <<<HEAD
<html>
<head><title>:: SCT.Poll - Adminbereich ::</title>
<LINK href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
HEAD;
}
// Funktion zur Anzeige der Umfrage
function show()
{
global $aANSWER;
global $sQUESTION;
head();
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
echo "<TABLE BORDER=0>\n";
echo "<TR><TH>$sQUESTION</TH></TR>\n";
while (list($key, $val) = each($aANSWER))
{
echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"answer\" VALUE=\"$key\"> $val</TD></TR>\n";
}
echo "<TR><TD align=\"center\"><INPUT TYPE=\"Submit\" class=submit NAME=\"vote\" VALUE=\" Abstimmen! \"></TD></TR>\n";
echo "<TR><TD align=\"center\"><INPUT TYPE=\"Submit\" class=submit NAME=\"result\" VALUE=\" Ergebnisse \"></TD></TR>\n";
echo "<TR><TD align=\"center\" class=klein>script by <a href=\"http://www.scriptingtown.de\" target=\"_blank\">scriptingtown.de</a></TD></TR></TABLE></FORM>";
}
// Funktion zum speichern der Daten
function save()
{
global $aFile_array;
global $aANSWER;
global $answer;
global $sRESULT_FILE_NAME;
if (count($aFile_array) < count($aANSWER))
{
$aFile_array = array("0", "0", "0", "0", "0", "0", "0", "0", "0", "0");
}
$sOld_answer = $aFile_array[$answer];
//$sOld_answer = preg_replace("/\n\r*/", "", $sOld_answer);
$aFile_array[$answer] = $sOld_answer + 1;
$file = implode("|", $aFile_array);
$fp = fopen("$sRESULT_FILE_NAME", "w");
fputs($fp, $file);
fclose($fp);
}
// Funktion zur Anzeige der Ergebnisse
function results()
{
global $aFile_array;
global $aANSWER;
global $sIMG_DIR_URL;
global $sCOLOR;
head();
while (list($key, $val) = each($aFile_array))
{
$iTotal += $val;
}
echo "<h3>Umfragenergebnisse:</h3>";
echo "<TABLE CELLSPACING=\"2\" CELLPADDING=\"1\" BORDER=\"1\">";
echo "<tr><th>Was</th><th>Prozent</th><th>Stimmen</th></tr>";
while (list($key, $val) = each($aANSWER))
{
$percent = $aFile_array[$key] * 100 / $iTotal;
$percent_int = floor($percent);
$percent_float = number_format($percent, 1);
$tp += $percent_float;
echo "<tr><td> $aANSWER[$key] </td><td><img height=10 width=\"$percent_int\" src=\"$sIMG_DIR_URL/$sCOLOR.gif\"> $percent_float% </td><td>$aFile_array[$key]</td></tr>";
}
echo "<TR><TD colspan=3 align=\"center\" class=klein>script by <a href=\"http://www.scriptingtown.de\" target=\"_blank\">scriptingtown.de</a></TD></TR>";
echo "</TABLE><br>";
}
// IP speichern
function record($REMOTE_ADDR)
{
global $sIP_FILE_NAME;
$fp = fopen("$sIP_FILE_NAME", "a+");
fputs ($fp,$REMOTE_ADDR."][".time()."\n");
fclose($fp);
}
// IP in Liste nachschauen
function check($REMOTE_ADDR)
{
global $iREVOTE_TIME;
global $sIP_FILE_NAME;
global $iValid;
$ip = $REMOTE_ADDR;
$aData = file("$sIP_FILE_NAME");
$now = time();
foreach ($aData as $record)
{
$aSubdata = explode("][",$record);
if ($now < ($aSubdata[1] + 3600 * $iREVOTE_TIME) && $ip == $aSubdata[0])
{
$iValid = 0;
break;
}
}
}
//anzeige der einstellungen
function adminshow()
{
global $sPW;
global $sQUESTION;
global $aANSWER;
global $sRESULT_FILE_NAME;
global $sIP_FILE_NAME;
global $sIMG_DIR_URL;
global $sCOLOR;
global $iREVOTE_TIME;
global $pass;
global $saved;
head();
echo "<form action=\"$PHP_SELF\" method=\"post\">";
echo "<table border=\"0\" align=\"center\" width=100%><tr><td>";
echo "<h3>SCT.Poll - AdminArea</h3><br><br>";
if ( $saved )
{
echo "<h4>SAVED!</h4><br>";
}
echo "<table width=90% border=\"0\" align=\"center\"><TR><TD>";
echo "Frage: <input type=\"text\" name=\"question\" size=\"50\" maxlength=\"100\" value=\"$sQUESTION\"></tr></td></table><br></tr></td>";
// Antworten anzeigen
echo "<tr><td><table width=90% border=\"0\" align=\"center\">";
$temp = join('',file($sRESULT_FILE_NAME));
$aFile_array = explode("|",$temp);
$i = 1;
foreach ($aANSWER as $val)
{
$a = $i - 1;
echo "<TR><TD>Antwort $i: <input type=\"text\" name=\"A$i\" size=\"30\" maxlength=\"50\" value=\"$val\"> ";
echo "Stimmen: <input type=\"text\" name=\"S$i\" size=\"5\" maxlength=\"5\" value=\"$aFile_array[$a]\"></TD></TR>";
$i++;
}
// Antwoten auf 10 auffьllen
while ($i <= "10")
{
echo "<TR><TD>Antwort $i: <input type=\"text\" name=\"A$i\" size=\"30\" maxlength=\"50\"> Stimmen: <input type=\"text\" name=\"S$i\" size=\"5\" maxlength=\"5\"></TD></TR>";
$i++;
}
echo "</table><br></tr></td>";
// Grafikfarbe anzeigen
$aColors = array("aqua", "blue", "gold", "green", "grey", "orange", "pink", "red", "yellow");
echo "<tr><td><table width=\"90%\" border=\"0\" align=\"center\"><TR><TD>Grafikfarbe:<br>";
foreach ($aColors as $val)
{
if ( $val == $sCOLOR )
{
echo "<input type=\"radio\" name=\"color\" value=\"$val\" checked> $val <img height=10 width=\"15\" src=\"$sIMG_DIR_URL/$val.gif\"><br>";
}
else
{
echo "<input type=\"radio\" name=\"color\" value=\"$val\"> $val <img height=10 width=\"15\" src=\"$sIMG_DIR_URL/$val.gif\"><br>";
}
}
echo "</tr></td></table><br></tr></td>";
// Revote-Time anzeigen
echo "<tr><td><table width=\"90%\" border=\"0\" align=\"center\"><TR><TD>Revote Time: <input type=\"text\" name=\"revote\" size=\"3\" maxlength=\"2\" value=\"$iREVOTE_TIME\"> (in h)";
echo "</tr></td></table><br></tr></td>";
// "Passwort дndern" anzeigen
echo "<tr><td><table width=\"90%\" border=\"0\" align=\"center\"><TR><TD>";
echo "Passwort дndern: <input type=\"text\" name=\"passwd\" size=\"20\" maxlength=\"20\" value=\"$sPW\">";
echo "</tr></td></table><br></tr></td>";
echo "<tr><td><input type=\"hidden\" name=\"pass\" value=\"$pass\"><input type=\"submit\" name=\"save\" value=\"Speichern\" class=\"submit\"><br>";
echo "</td></tr>";
echo "<TR><TD align=\"left\" class=\"klein\">zum <a href=\"updchecker.php\" target=\"_blank\">UpdateChecker</a><br><br></TD></TR>";
echo "<TR><TD align=\"left\" class=\"klein\">script by <a href=\"http://www.scriptingtown.de\" target=\"_blank\">scriptingtown.de</a></TD></TR>";
echo "</table></form>";
}
//speichern der einstellungen
function adminsave()
{
global $sPW;
global $sQUESTION;
global $aANSWER;
global $sRESULT_FILE_NAME;
global $sIP_FILE_NAME;
global $sIMG_DIR_URL;
global $sCOLOR;
global $iREVOTE_TIME;
global $question;
global $A1;
global $A2;
global $A3;
global $A4;
global $A5;
global $A6;
global $A7;
global $A8;
global $A9;
global $A10;
global $S1;
global $S2;
global $S3;
global $S4;
global $S5;
global $S6;
global $S7;
global $S8;
global $S9;
global $S10;
global $color;
global $revote;
global $passwd;
// save in poll_cfg.php (fragen, antworten, passwort, farbe, revote)
$file = fopen("poll_cfg.php", "w");
$aTempAns = array($A1, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $A10);
$text = "<?php\n \$sPW = \"$passwd\";\n \$sQUESTION = \"$question\";\n \$aANSWER = array(";
foreach ($aTempAns as $val)
{
if ( !empty($val) )
{
$text .= "\"$val\", ";
}
}
$text .= ");\n \$sRESULT_FILE_NAME = \"poll_data.dat\";\n \$sIP_FILE_NAME = \"poll_ips.dat\";\n \$sIMG_DIR_URL = \"./art\";\n ";
$text .= "\$sCOLOR = \"$color\";\n \$iREVOTE_TIME = $revote;\n?>";
fwrite ($file, $text);
fclose($file);
// save in poll_data.dat (stimmen)
$file = fopen("poll_data.dat", "w");
$aTempSt = array($S1, $S2, $S3, $S4, $S5, $S6, $S7, $S8, $S9, $S10);
foreach ($aTempSt as $val)
{
if ( empty($val) )
{
$val = "0";
}
}
$text = implode("|", $aTempSt);
fwrite ($file, $text);
fclose($file);
// IPs lцschen
$file = fopen("poll_ips.dat", "w");
$text = "";
fwrite ($file, $text);
fclose($file);
}
// wenn gespeichert wurde meldung und reload
function adminsaved()
{
global $passwd;
global $saved;
header("Location: poll_admin.php?pass=$passwd&saved=1");
head();
echo "<h1>GESPEICHERT!</h1>";
}
//falscher login
function adminfalse()
{
global $sPW;
global $sQUESTION;
global $aANSWER;
global $sRESULT_FILE_NAME;
global $sIP_FILE_NAME;
global $sIMG_DIR_URL;
global $sCOLOR;
global $iREVOTE_TIME;
head();
echo "<form action=\"$PHP_SELF\" method=\"post\">";
echo "<table height=\"400\" border=\"0\" align=\"center\"><tr><td align=\"center\" valign=\"middle\">";
echo "<h3>SCT.Poll - AdminLogin</h3><br>Bitte Login-Passwort eingeben:<br>";
echo "<input type=\"password\" name=\"pass\" size=\"20\" maxlength=\"50\"><br>";
echo "<input type=\"submit\" class=\"submit\" value=\"OK\">";
echo "</td></tr></table></form>";
}
// Starte Routine
//#########################################################################
if ( $pass == $sPW && !$save )
{
//wenn passwort richtig anzeige der daten
adminshow();
}
elseif ( $pass != $sPW )
{
//wenn passwort nicht richtig
adminfalse();
}
elseif ( $pass == $sPW && $save )
{
//wenn passwort richtig speichern und anzeigen
adminsave();
adminsaved();
}
?>
</body>
</html>
Свернуть ↑Развернуть ↓
Свернуть ↑
PHP код:
<?php
// AB HIER BITTE NICHTS MEHR VERДNDERN, WENN SIE SICH NICHT MIT PHP AUSKENNEN!!!
//##############################################################################
include("poll_cfg.php");
// Funktion zur Anzeige der Umfrage
function show()
{
global $aANSWER;
global $sQUESTION;
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
echo "<TABLE BORDER=0>\n" ;
echo "<TR ><TH>$sQUESTION</TH></TR>\n";
while (list($key, $val) = each($aANSWER))
{
echo "<TR align=\"left\"><TD><INPUT TYPE=\"radio\" NAME=\"answer\" VALUE=\"$key\"> $val</TD></TR>\n";
}
echo "<TR><TD align=\"center\"> </TD></TR>\n";
echo "<TR><TD align=\"center\"><INPUT TYPE=\"Submit\" class=submit NAME=\"vote\" VALUE=\" Голосовать \"><INPUT TYPE=\"Submit\" class=submit NAME=\"result\" VALUE=\" Результаты \"></TD></TR>\n";
echo "<TR><TD align=\"center\"></TD></TR>\n";
echo "<TR><TD align=\"center\" class=klein> </TD></TR></TABLE></FORM>";
}
// Funktion zum speichern der Daten
function save()
{
global $aFile_array;
global $aANSWER;
global $answer;
global $sRESULT_FILE_NAME;
if (count($aFile_array) < count($aANSWER))
{
$aFile_array = array("0", "0", "0", "0", "0", "0", "0", "0", "0", "0");
}
$sOld_answer = $aFile_array[$answer];
//$sOld_answer = preg_replace("/\n\r*/", "", $sOld_answer);
$aFile_array[$answer] = $sOld_answer + 1;
$file = implode("|", $aFile_array);
$fp = fopen("$sRESULT_FILE_NAME", "w");
fputs($fp, $file);
fclose($fp);
echo "Голос засчитан!";
}
// Funktion zur Anzeige der Ergebnisse
function results()
{
global $aFile_array;
global $aANSWER;
global $sIMG_DIR_URL;
global $sCOLOR;
while (list($key, $val) = each($aFile_array))
{
$iTotal += $val;
}
echo "<h3 align='center'>Результаты опроса:</h3>";
echo "<TABLE BORDER=\"1px\" CELLSPACING=\"5\" CELLPADDING=\"5\" width=\"380px\" height=\"65px\">";
echo "<br>";
echo "<tr><th> </th><th> </th><th align='left'>Голосов</th></tr>";
while (list($key, $val) = each($aANSWER))
{
if ( $iTotal != "0" )
{
$percent = $aFile_array[$key] * 100 / $iTotal;
}
else
{
$percent = "0";
}
$percent_int = floor($percent);
$percent_float = number_format($percent, 1);
$tp += $percent_float;
echo "<tr><td align='left'> $aANSWER[$key] </td><td align='left'><img height=10 width=\"$percent_int\" src=\"$sIMG_DIR_URL/$sCOLOR.gif\"> $percent_float% </td><td align='left'>$aFile_array[$key]</td></tr>";
}
echo "</TABLE><br>";
}
// IP speichern
function record($REMOTE_ADDR)
{
global $sIP_FILE_NAME;
$fp = fopen("$sIP_FILE_NAME", "a+");
fputs ($fp,$REMOTE_ADDR."][".time()."\n");
fclose($fp);
}
// IP in Liste nachschauen
function check($REMOTE_ADDR)
{
global $iREVOTE_TIME;
global $sIP_FILE_NAME;
global $iValid;
$ip = $REMOTE_ADDR;
$aData = file("$sIP_FILE_NAME");
$now = time();
foreach ($aData as $record)
{
$aSubdata = explode("][",$record);
if ($now < ($aSubdata[1] + 3600 * $iREVOTE_TIME) && $ip == $aSubdata[0])
{
$iValid = 0;
break;
}
}
}
// Starte Routine
//#########################################################################
$temp = join('',file($sRESULT_FILE_NAME));
$aFile_array = explode("|",$temp);
check($REMOTE_ADDR);
if ($iValid == "0" || $result)
{
results();
}
elseif ( !$vote && !$result && $iValid != "0")
{
show();
}
elseif ( $iValid != "0" && $vote && $answer < count($aANSWER))
{
// Save
save();
record($REMOTE_ADDR);
results();
}
?>
Свернуть ↑Развернуть ↓
Свернуть ↑
PHP код:
<?php
$sPW = "admin";
$sQUESTION = "Вопрос?";
$aANSWER = array("Да!", "Нет!", "Возможно...", );
$sRESULT_FILE_NAME = "poll_data.dat";
$sIP_FILE_NAME = "poll_ips.dat";
$sIMG_DIR_URL = "./art";
$sCOLOR = "aqua";
$iREVOTE_TIME = 24;
?>
Свернуть ↑Развернуть ↓
Файлы в которых хранится информация сначала пустые, имеют расширеение .dat, лежат в одной папке с остальными файлами.
На страницу вставлен так:
<?php
include ('poll_inc.php');
?>
|