|
|
|
| короч))
есть скрипт:
<?
$file = "log/vote_ban.txt";
$a = file($file);
$i = 1; $fi = Count($a);
$n = 0;
while ($i <= $fi):
$a[$i] = trim(str_replace ("\n","", $a[$i]));
$n = $n+$a[$i];
$i++;
endwhile;
$a[$answer]++; $n++;
$rez = "Результаты голосования!\n".$a[1].
"\n".$a[2]."\n".$a[3]."\n".$a[4];
$ips=file("ban.txt");
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip))
die("Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n
");
}
?>
|
он делает действия: Считывает из файла log/vote_ban.txt айпи адреса, и если он сходен с тем под которым зашел юзер, то пишет что вы уже голосовали и типа выводит результат,.. но вместо того чтобы писать ето все окуратненько на 1 строчке, он тем самым закрывает весь экран )) тоесть какбы ничего непоказывает кроме етого результата...
Так в чем проблема? подскажите плизз))) | |
|
|
|
|
|
|
|
для: ZetRider
(13.03.2006 в 17:15)
| | Проблема в том что у вас это все просто на странице, а Вы сделайте все это в таблице
<?
$file = "log/vote_ban.txt";
$a = file($file);
$i = 1; $fi = Count($a);
$n = 0;
while ($i <= $fi):
$a[$i] = trim(str_replace ("\n","", $a[$i]));
$n = $n+$a[$i];
$i++;
endwhile;
$a[$answer]++; $n++;
$rez = "Результаты голосования!\n".$a[1].
"\n".$a[2]."\n".$a[3]."\n".$a[4];
$ips=file("ban.txt");
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip))
die("<table align=center width=300 height=300>
<tr><td align=center>Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n</td></tr></table>
");
}
?>
|
| |
|
|
|
|
|
|
|
для: midav
(13.03.2006 в 23:41)
| | неа, всеравно ( | |
|
|
|
|
|
|
|
для: ZetRider
(14.03.2006 в 16:17)
| | Дайте пожалуста ссылку чтоб посмотреть что и как :) | |
|
|
|
|
|
|
|
для: midav
(14.03.2006 в 19:44)
| | вот пример:
http://attack.h14.ru/vvv | |
|
|
|
|
|
|
|
для: ZetRider
(15.03.2006 в 14:01)
| | потому что нужно использовать не die (которая используется для вывода ошибок и после вывода exit() а например echo.... | |
|
|
|
|
|
|
|
для: kasmanaft
(15.03.2006 в 20:39)
| | а вот как сделать что если непроголосовали то выводит форму:
<FORM METHOD="POST" name=vote action="?id=add_vote">
<center><TABLE BORDER=0 width="119"><TR><TD><TABLE BORDER=0 width="120">
<TR><TD><b><font face="Courier New" size="2">Любимый язык?:</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=1 style="font-weight: 700"></font><b><font size="2" face="Courier New">PHP</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=2 style="font-weight: 700"></font><b><font size="2" face="Courier New">Delphi</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=3 style="font-weight: 700"></font><b><font size="2" face="Courier New">C++</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=4 style="font-weight: 700"></font><b><font size="2" face="Courier New">Assembler</font></b></TD></TR>
<TR><TD>
<center><INPUT TYPE=Submit NAME=vote VALUE=" Отправить "></center>
</TD></TR>
</TABLE></center></TD></TR></TABLE></FORM>
|
А если уже проголосовали то выводит:
<?
$file = "log/vote.txt";
$a = file($file);
$i = 1; $fi = Count($a);
$n = 0;
while ($i <= $fi):
$a[$i] = trim(str_replace ("\n","", $a[$i]));
$n = $n+$a[$i];
$i++;
endwhile;
$a[$answer]++; $n++;
$rez = "Результаты голосования!\n".$a[1].
"\n".$a[2]."\n".$a[3]."\n".$a[4];
$ips=file("log/vote_ban.txt");
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip))
echo"<table align=center width=300 height=300>
<tr><td align=center>Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n</td></tr></table>
";
}
?>
|
,? | |
|
|
|
|
|
|
|
для: ZetRider
(15.03.2006 в 21:43)
| |
<?
$file = "log/vote.txt";
$a = file($file);
$i = 1; $fi = Count($a);
$n = 0;
while ($i <= $fi):
$a[$i] = trim(str_replace ("\n","", $a[$i]));
$n = $n+$a[$i];
$i++;
endwhile;
$a[$answer]++; $n++;
$rez = "Результаты голосования!\n".$a[1].
"\n".$a[2]."\n".$a[3]."\n".$a[4];
$ips=file("log/vote_ban.txt");
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip))
echo"<table align=center width=300 height=300>
<tr><td align=center>Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n</td></tr></table>
";
}
else
{
?>
<FORM METHOD="POST" name=vote action="?id=add_vote">
<center><TABLE BORDER=0 width="119"><TR><TD><TABLE BORDER=0 width="120">
<TR><TD><b><font face="Courier New" size="2">Любимый язык?:</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=1 style="font-weight: 700"></font><b><font size="2" face="Courier New">PHP</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=2 style="font-weight: 700"></font><b><font size="2" face="Courier New">Delphi</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=3 style="font-weight: 700"></font><b><font size="2" face="Courier New">C++</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=4 style="font-weight: 700"></font><b><font size="2" face="Courier New">Assembler</font></b></TD></TR>
<TR><TD>
<center><INPUT TYPE=Submit NAME=vote VALUE=" Отправить "></center>
</TD></TR>
</TABLE></center></TD></TR></TABLE></FORM>
<?php
}
?>
|
Ну походу так :) | |
|
|
|
|
|
|
|
для: midav
(15.03.2006 в 23:34)
| | ну да, только у if'а нужно { поставить (вначале :) | |
|
|
|
|
|
|
|
для: kasmanaft
(16.03.2006 в 07:24)
| | пишет ошибку...
parse error, unexpected T_ELSE in F:\www\.......... on line 347
347 строка:
else | |
|
|
|
|
|
|
|
для: ZetRider
(16.03.2006 в 13:10)
| | Ну во всем виновата функция foreach(), я бы сделал по другому :) | |
|
|
|
|
|
|
|
для: ZetRider
(16.03.2006 в 13:10)
| | я ж сказал, что нужно сделать :)
только правильнее было бы проверить нет ли в файле нашего ip, а если есть то не выводить сразу результат голосования, а какой-нить переменной присвоить true (или 1)... а потом смотреть если наша переменная тру - выводим результат голосования, если фолс - форму.... (уже не в цикле) | |
|
|
|
|
|
|
|
для: midav
(15.03.2006 в 23:34)
| |
<?
$file = "log/vote.txt";
$a = file($file);
$i = 1; $fi = Count($a);
$n = 0;
while ($i <= $fi):
$a[$i] = trim(str_replace ("\n","", $a[$i]));
$n = $n+$a[$i];
$i++;
endwhile;
$a[$answer]++; $n++;
$rez = "Результаты голосования!\n".$a[1].
"\n".$a[2]."\n".$a[3]."\n".$a[4];
$ips=file("log/vote_ban.txt");
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip)) {
echo"<table align=center width=300 height=300>
<tr><td align=center>Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n</td></tr></table>
";
}
else
{
?>
<FORM METHOD="POST" name=vote action="?id=add_vote">
<center><TABLE BORDER=0 width="119"><TR><TD><TABLE BORDER=0 width="120">
<TR><TD><b><font face="Courier New" size="2">Любимый язык?:</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=1 style="font-weight: 700"></font><b><font size="2" face="Courier New">PHP</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=2 style="font-weight: 700"></font><b><font size="2" face="Courier New">Delphi</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=3 style="font-weight: 700"></font><b><font size="2" face="Courier New">C++</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=4 style="font-weight: 700"></font><b><font size="2" face="Courier New">Assembler</font></b></TD></TR>
<TR><TD>
<center><INPUT TYPE=Submit NAME=vote VALUE=" Отправить "></center>
</TD></TR>
</TABLE></center></TD></TR></TABLE></FORM>
<?php
}
}
?>
|
| |
|
|
|
|
|
|
|
для: midav
(16.03.2006 в 14:34)
| | - | |
|
|
|
|
|
|
|
для: kasmanaft
(16.03.2006 в 14:37)
| | вроде все прально работает! но почемута он форму ответа невыводит если неголосовали (( | |
|
|
|
|
|
|
|
для: midav
(16.03.2006 в 14:34)
| |
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip)) {
echo"<table align=center width=300 height=300>
<tr><td align=center>Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n</td></tr></table>
";
} }
else
{
?>
<FORM METHOD="POST" name=vote action="?id=add_vote">
<center><TABLE BORDER=0 width="119"><TR><TD><TABLE BORDER=0 width="120">
<TR><TD><b><font face="Courier New" size="2">Любимый язык?:</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=1 style="font-weight: 700"></font><b><font size="2" face="Courier New">PHP</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=2 style="font-weight: 700"></font><b><font size="2" face="Courier New">Delphi</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=3 style="font-weight: 700"></font><b><font size="2" face="Courier New">C++</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=4 style="font-weight: 700"></font><b><font size="2" face="Courier New">Assembler</font></b></TD></TR>
<TR><TD>
<center><INPUT TYPE=Submit NAME=vote VALUE=" Отправить "></center>
</TD></TR>
</TABLE></center></TD></TR></TABLE></FORM>
<?php
}
?>
|
| |
|
|
|
|
|
|
|
для: midav
(16.03.2006 в 19:22)
| | parse error, unexpected T_ELSE in строке else | |
|
|
|
|
|
|
|
для: midav
(16.03.2006 в 14:34)
| | ну тогда попробуем переделать код
<?
$file = "log/vote.txt";
$a = file($file);
$i = 1; $fi = Count($a);
$n = 0;
while ($i <= $fi):
$a[$i] = trim(str_replace ("\n","", $a[$i]));
$n = $n+$a[$i];
$i++;
endwhile;
$a[$answer]++; $n++;
$rez = "Результаты голосования!\n".$a[1].
"\n".$a[2]."\n".$a[3]."\n".$a[4];
$ips=file("log/vote_ban.txt");
for($u=0; $u<sizeof($ips); $u++) {
$dt=explode("", $ips[$u]);
if($_SERVER['REMOTE_ADDR']==trim($dt[0])) {
echo"<table align=center width=300 height=300>
<tr><td align=center>Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n</td></tr></table> ";
}
else
{
?>
<FORM METHOD="POST" name=vote action="?id=add_vote">
<center><TABLE BORDER=0 width="119"><TR><TD><TABLE BORDER=0 width="120">
<TR><TD><b><font face="Courier New" size="2">Любимый язык?:</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=1 style="font-weight: 700"></font><b><font size="2" face="Courier New">PHP</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=2 style="font-weight: 700"></font><b><font size="2" face="Courier New">Delphi</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=3 style="font-weight: 700"></font><b><font size="2" face="Courier New">C++</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=4 style="font-weight: 700"></font><b><font size="2" face="Courier New">Assembler</font></b></TD></TR>
<TR><TD>
<center><INPUT TYPE=Submit NAME=vote VALUE=" Отправить "></center>
</TD></TR>
</TABLE></center></TD></TR></TABLE></FORM>
<?php
}
?>
|
| |
|
|
|
|
|
|
|
для: midav
(16.03.2006 в 20:49)
| | Вот оптимальный вариант но изза функции foreach ($ips as $ip) { } невыводится форма.. :
<?
$file = "log/vote.txt";
$a = file($file);
$i = 1; $fi = Count($a);
$n = 0;
while ($i <= $fi):
$a[$i] = trim(str_replace ("\n","", $a[$i]));
$n = $n+$a[$i];
$i++;
endwhile;
$a[$answer]++; $n++;
$rez = "Результаты голосования!\n".$a[1].
"\n".$a[2]."\n".$a[3]."\n".$a[4];
$ips=file("log/vote_ban.txt");
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip))
{
echo"Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n
";
}
else
{
echo'
<FORM METHOD="POST" name=vote action="?id=add_vote">
<center><TABLE BORDER=0 width="119"><TR><TD><TABLE BORDER=0 width="120">
<TR><TD><b><font face="Courier New" size="2">Любимый язык?:</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=1 style="font-weight: 700"></font><b><font size="2" face="Courier New">PHP</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=2 style="font-weight: 700"></font><b><font size="2" face="Courier New">Delphi</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=3 style="font-weight: 700"></font><b><font size="2" face="Courier New">C++</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=4 style="font-weight: 700"></font><b><font size="2" face="Courier New">Assembler</font></b></TD></TR>
<TR><TD>
<center><INPUT TYPE=Submit NAME=vote VALUE=" Отправить "></center>
</TD></TR>
</TABLE></center></TD></TR></TABLE></FORM>
';
}}
?>
|
| |
|
|
|
|
|
|
|
для: ZetRider
(16.03.2006 в 21:25)
| | Ну так я тебе дал рабочий вариант сверху. :) Как у тебя в файле ип адреса прописаны? | |
|
|
|
|
|
|
|
для: ZetRider
(16.03.2006 в 21:25)
| | вот ты... если знаешь что все дело в foreach так сделай без него... в чем проблема? три дня уже сидишь....
>только правильнее было бы проверить нет ли в файле нашего ip, а если есть то не выводить
>сразу результат голосования, а какой-нить переменной присвоить true (или 1)... а потом
>смотреть если наша переменная тру - выводим результат голосования, если фолс - форму....
>(уже не в цикле)
$perem = 0;
foreach ($ips as $ip)
{
if($_SERVER['REMOTE_ADDR']==trim($ip))
$perem = 1;
}
if ($perem == 1)
{
echo"Вы голосовали!<br>Результат:
<br>PHP - <b>$a[1]</b>
<br>Delphi - <b>$a[2]</b>
<br>C++ - <b>$a[3]</b>
<br>Assembler - <b>$a[4]</b>
<br>Всего проголосовало: $n
";
}
else
{
echo'
<FORM METHOD="POST" name=vote action="?id=add_vote">
<center><TABLE BORDER=0 width="119"><TR><TD><TABLE BORDER=0 width="120">
<TR><TD><b><font face="Courier New" size="2">Любимый язык?:</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=1 style="font-weight: 700"></font><b><font size="2" face="Courier New">PHP</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=2 style="font-weight: 700"></font><b><font size="2" face="Courier New">Delphi</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=3 style="font-weight: 700"></font><b><font size="2" face="Courier New">C++</font></b></TD></TR>
<TR><TD><font face="Courier New">
<INPUT TYPE=radio NAME=answer VALUE=4 style="font-weight: 700"></font><b><font size="2" face="Courier New">Assembler</font></b></TD></TR>
<TR><TD>
<center><INPUT TYPE=Submit NAME=vote VALUE=" Отправить "></center>
</TD></TR>
</TABLE></center></TD></TR></TABLE></FORM>
';
}
?>
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(17.03.2006 в 11:12)
| | Спасиб! тема закрыта!) | |
|
|
|