Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > кукесы


Автор: supervladislav 19.8.2006, 22:26
у меня есть скрипт голосования ,я поставил ограничения 
что-то вроде 
Код

if($_COOKiES['$otziv']=0)
{\\\\скрипт голосования 
setcookie($otziv,"1",time()+3600);   \\\\\\\помечаем браузер юзвера на час 
}
else{echo("спасибо вы уже голосовали");}

короче через час при попытке проголосовать меня отсылают нафиг.
скажите еще а можно поставить кукесы навсегда?
А извеняюсь за тупой вопрос а как  их удалит из браузера?
А то сколько я их не удалял всеравно проголосовать мне не получалось.
И еще а можно как-то индефицировать пользователя кроме кукезов и 
айпи,ну скажем я часто флудил в гостевых типа http://zbook.ru/
и каким то макаром они меня отключали толи ставили вечные кукисы ,а толи существует еще способ опознать и обезвредить нежелательноего пользователя.

Автор: szz 19.8.2006, 23:07
Цитата
if($_COOKiES['$otziv']=0)

   Один знак равно вместо двух!!! 
  Тут ты присваиваешь а не сравниваешь!
   В слове cookies - буква "i" - маленькая! 

 И вообще проверяй с помощью empty:
Код

if(empty($_COOKIES['$otziv'])) 
   ...


Цитата
скажите еще а можно поставить кукесы навсегда?

  ставь куку на абсурдно большое время, например на миллиард секунд. Хватит на несколько поколений.
Цитата
как  их удалит из браузера?

   Не знаю как в IE, но в мозилле Tools->Options->Cookies->View Cookies  - там ты видишь список вех куков и манипулирешь ими.

Автор: smartov 19.8.2006, 23:08
Цитата(supervladislav @  19.8.2006,  21:26 Найти цитируемый пост)
скажите еще а можно поставить кукесы навсегда?

Цитата(supervladislav @  19.8.2006,  21:26 Найти цитируемый пост)
setcookie($otziv,"1",time()+360000000000000000);


Цитата(supervladislav @  19.8.2006,  21:26 Найти цитируемый пост)
А извеняюсь за тупой вопрос а как  их удалит из браузера?

Цитата(supervladislav @  19.8.2006,  21:26 Найти цитируемый пост)
setcookie($otziv,"1",time()-1);


Цитата(supervladislav @  19.8.2006,  21:26 Найти цитируемый пост)
И еще а можно как-то индефицировать пользователя кроме кукезов и 
айпи

UserAgent или отпечатки пальцев в конце концов ;)

Автор: supervladislav 20.8.2006, 02:38
помогите нефига неработает проголоосвать он мне разрешает и все тут 
и говорит  что есть ошибка в операторе else
Код

<?php
if(empty($_COOKIES['$otziv'])){
setCookie("$otziv","1",time()+3600);
$file1 = "golos1.dat";
$file2 = "golos2.dat";
$ok = $nok = 0;
$g=file_get_contents($file1);
$a=file_get_contents($file2);
switch($_POST['golos']){
case 1: $ok++;echo("спасибо за ваш голос");break;
case 2:$nok++;echo("спасибо за ваш голос");break;
case 0:echo("необходимо проголосовать");break;
}
$b = $nok + $a;
$c = $ok + $g;
$golos1 = fopen($file1,"w");
$golos2 = fopen($file2,"w");
fwrite($golos1, $c);
fwrite($golos2, $b);
fclose($golos1);
fclose($golos2);
}
else{echo("спасибо за голос");}
?>



Автор: smartov 20.8.2006, 10:23
supervladislav, текст ошибки в студию

Автор: szz 20.8.2006, 11:11
Вообще-то $_COOKIE вместо $_COOKIES надо писать. Эт я щас в мануале посмотрел, вообще советую мануал читать.

Автор: smartov 20.8.2006, 14:29
Цитата(szz @  20.8.2006,  10:11 Найти цитируемый пост)
вообще советую мануал читать

ППКС

Автор: Vaulter 20.8.2006, 14:51
Код

if(empty($_COOKIES['$otziv'])){
setCookie("$otziv","1",time()+3600);

слушай, может оставишь ты это дело вообще....
не твое это... не твое.
Код
if(empty($_COOKIE[$otziv])){
setcookie($otziv,"1",time()+3600);


ps: и есть ли у тебя вообще переменная $otziv???

Автор: szz 20.8.2006, 15:31
Код

'$otziv'

  мамачки...   

Цитата

не твое это... не твое.

  ну, я б не сказал, просто человек только начинает, в начале мы все делали ошибки.

Цитата
ППКС 
 - что значит этот КПСС?  smile 

Автор: supervladislav 20.8.2006, 18:31
Цитата(Vaulter @ 20.8.2006,  14:51)
Код

if(empty($_COOKIES['$otziv'])){
setCookie("$otziv","1",time()+3600);

слушай, может оставишь ты это дело вообще....
не твое это... не твое.
Код
if(empty($_COOKIE[$otziv])){
setcookie($otziv,"1",time()+3600);


ps: и есть ли у тебя вообще переменная $otziv???

да есть а мое или не мое мам без таких как ты разберусь

Добавлено @ 18:32 
Цитата(szz @ 20.8.2006,  15:31)
Код

'$otziv'

  мамачки...   

Цитата

не твое это... не твое.

  ну, я б не сказал, просто человек только начинает, в начале мы все делали ошибки.

Цитата
ППКС 
 - что значит этот КПСС?  smile

во всех книгах написано что переменная в кукесах должна писаться в двойных кавычках 

Автор: szz 20.8.2006, 18:56
Цитата
во всех книгах написано что переменная в кукесах должна писаться в двойных кавычках  

   нет, в ковычки если ставить, то работать будет, но это не есть хороший стиль программирования.

   И если даже да, то в двойных, а у тебя в каких?

Добавлено @ 18:57 
Цитата
да есть а мое или не мое мам без таких как ты разберусь

  Эт ты зря - человек тебе помог, код твой исправил. С неработающего на работающий.

Автор: supervladislav 21.8.2006, 00:37
Цитата(szz @ 20.8.2006,  18:56)
Цитата
во всех книгах написано что переменная в кукесах должна писаться в двойных кавычках  

   нет, в ковычки если ставить, то работать будет, но это не есть хороший стиль программирования.

   И если даже да, то в двойных, а у тебя в каких?

Добавлено @ 18:57 
Цитата
да есть а мое или не мое мам без таких как ты разберусь

  Эт ты зря - человек тебе помог, код твой исправил. С неработающего на работающий.

за то что помог спасибо,а извени наезжать на меня мол мое не мое не надо.
пока незабыл ,а в настройках php что должнобыть написано?

Автор: supervladislav 21.8.2006, 02:46
блин зараза ничего неработает он просто игнорирует то что я пишу не ошибок ничего

Код

<?php
if(empty($_COOKIES['$otziv'])){    
setcookie("$otziv","1",time()+3600);
$file1 = "golos1.dat";
$file2 = "golos2.dat";
$ok = $nok = 0;
$g=file_get_contents($file1);
$a=file_get_contents($file2);
switch($_POST['golos']){
case 1: $ok++;echo("спасибо за ваш голос");break;
case 2:$nok++;echo("спасибо за ваш голос");break;
case 0:echo("необходимо проголосовать");break;
}
$b = $nok + $a;
$c = $ok + $g;
$golos1 = fopen($file1,"w");
$golos2 = fopen($file2,"w");
fwrite($golos1, $c);
fwrite($golos2, $b);
fclose($golos1);
fclose($golos2);
}
?>


[/code]

Автор: szz 21.8.2006, 06:21
Опять ты за свое....
  Я ж тебе писал:
Цитата

нет, в ковычки если ставить, то работать будет, но это не есть хороший стиль программирования.
   И если даже да, то в двойных, а у тебя в каких?

  В каких у тебя? В двойных?
Код

if(empty($_COOKIES['$otziv'])){ 

   В каких кавычках '$otziv'? По-твоему это - двойные кавычки?

Конечно работать не будет - тут тебе люди подсказали как сделать, а ты ничего не исправил и жалуешься что не работает. 
  Таак, будь внимательнее и тактичнее.

  Вот код ЦЕЛИКОМ. Скопируй и запусти:
Код

<?php
if(empty($_COOKIE[$otziv])){    
setcookie($otziv,"1",time()+3600);
$file1 = "golos1.dat";
$file2 = "golos2.dat";
$ok = $nok = 0;
$g=file_get_contents($file1);
$a=file_get_contents($file2);
switch($_POST['golos']){
case 1: $ok++;echo("спасибо за ваш голос");break;
case 2:$nok++;echo("спасибо за ваш голос");break;
case 0:echo("необходимо проголосовать");break;
}
$b = $nok + $a;
$c = $ok + $g;
$golos1 = fopen($file1,"w");
$golos2 = fopen($file2,"w");
fwrite($golos1, $c);
fwrite($golos2, $b);
fclose($golos1);
fclose($golos2);
}
?>

Цитата
во всех книгах написано что переменная в кукесах должна писаться в двойных кавычках  

   Сразу хочу дать совет - выброси все эти книги, чтоб не учится глупостям. Это - неправда. Самый главный учебник - мануал по PHP - говорит об обратном.

Автор: Guedda 21.8.2006, 07:27
Цитата(supervladislav @  20.8.2006,  19:31 Найти цитируемый пост)
во всех книгах написано что переменная в кукесах должна писаться в двойных кавычках

Не переменная, а значение. Только что пролистал несколько учебников.
Представим такую ситуацию, что у тебя переменная $count = 12;
Следующие две строки равносильны по записи:
Код

echo $_COOKIE[$count];
echo $_COOKIE['12'];

Автор: PARROT 21.8.2006, 10:14
supervladislav, вот такими вот словами:

Цитата(supervladislav @  21.8.2006,  03:46 Найти цитируемый пост)
блин зараза


Цитата(supervladislav @  19.8.2006,  23:26 Найти цитируемый пост)
нафиг


Цитата(supervladislav @  20.8.2006,  03:38 Найти цитируемый пост)
нефига


У нас на Форуме не употребляются, у нас тут не кабак и не подворотня. Почитай правила форума. 

Автор: IZ@TOP 21.8.2006, 10:26
supervladislav, 5 баллов! Я пАдСтАлом  smile! Такого кода я еще не видел!

Автор: smartov 21.8.2006, 11:31
IZ@TOP, 
Цитата(IZ@TOP @  21.8.2006,  09:26 Найти цитируемый пост)
Такого кода я еще не видел!

Много пропустил ;) У меня сейчас большой проект и был написан до меня ВЕСЬ в таком стиле. 
То есть 
Код

if
{
300 строк кода (не шучу! 300!)
}
else
{
Куча unset-ов переменных (!!)
exit;
}

Автор: Vaulter 21.8.2006, 11:52
smartov, ну да ну да,
а мне вот достался такой проект:
Код

<?
include("dblib.inc.php");
$query = "select * from dec_orders where cat='1' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_1.html">Бухучёт, статистика</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='2' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_2.html">Иностранные языки</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='3' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_3.html">История</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='4' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_4.html">Медицина</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='5' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_5.html">Педагогика</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='6' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_6.html">Политология</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='7' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_7.html">Программирование</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='8' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_8.html">Психология</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='9' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_9.html">Разное</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='10' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_10.html">Русский язык и литература</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='11' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_11.html">Социология</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='12' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_12.html">Технические</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='13' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_13.html">Философия</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='14' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_14.html">Финансы и кредит</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='15' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_15.html">Химия и физика</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='16' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_16.html">Экономика</a> <small>(<?=$nm?>)</small>
<?
$query = "select * from dec_orders where cat='17' AND status='8'";
$result = mysql_query($query);
$nm = mysql_num_rows($result);
?>
<a href="./gotcat_17.html">Юриспруденция</a> <small>(<?=$nm?>)</small>
</td>
</tr>
</table>

Автор: szz 21.8.2006, 15:18
Цитата
а мне вот достался такой проект:

   Что это... мамама....    Это наверное кто-то пошутил, не иначе...

Автор: Vaulter 21.8.2006, 15:53
szz, 
Цитата
Это наверное кто-то пошутил, не иначе... 

скорее всего природа над этим человеком, что написАл (или попытался) такое...

все бы ничего, но иногда его код меня просто вымораживал smile
открыть чтоли ветку, "опусы". smile

Автор: szz 21.8.2006, 15:55
Открой )))
    И опубликуй самый курьезный исходник этого гения пера )
  Ссылку сюда кинуть не забудь ))))

Автор: IZ@TOP 23.8.2006, 09:52
Тему создал http://forum.vingrad.ru/index.php?act=ST&f=176&t=108931&st=0#entry830439

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)