Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с голосованием

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Vital77
Отправлено: 06 Сентября, 2015 - 17:16:48
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Добрый день! Нашел код, работает нормально. Подскажите, как добавить еще такой же блок, чтобы данные с него (результат и IP-адрес) записывались в другие файлы

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file='';
  3. $file_ip='';
  4. $message='<br>';
  5. $view_res=0;
  6. if (isset($_POST['view_res']) and is_numeric($_POST['id'])) $view_res=1;
  7. if (isset($_POST['vote']) and is_numeric($_POST['item'])
  8. and is_numeric($_POST['id'])) {
  9.  $f_name="vote".$_POST['id'].".txt";
  10.  $f_ip="vote".$_POST['id']."_ip.txt";
  11.  $ip=$_SERVER['REMOTE_ADDR'];
  12.  
  13.  $fh_ip=fopen($f_ip,"a+");
  14.  flock($fh_ip,LOCK_EX);
  15.  fseek($fh_ip,0);
  16.  while (!feof($fh_ip)) $file_ip=fread($fh_ip,4096);
  17.  if (array_search($ip,explode(",", $file_ip))!==FALSE) {
  18.      $message="<b>Вы уже голосовали!</b><br>";
  19.  }
  20.  else if (file_exists($f_name)) {
  21.     $fh=fopen($f_name,"a+");
  22.     flock($fh,LOCK_EX);
  23.     fseek($fh,0);
  24.     while (!feof($fh)) $file=fread($fh,4096);
  25.     $file=explode(",", $file);
  26.     if ($_POST['item']>=0 and $_POST['item']<count($file)) $file[$_POST['item']]+=1;
  27.     $file=implode(",",$file);
  28.     ftruncate($fh,0);
  29.     fwrite($fh,$file);
  30.     flock($fh,LOCK_UN);
  31.     fclose($fh);
  32.  
  33.     $file_ip.=$ip.',';
  34.     fwrite($fh_ip,$ip.',');
  35.     $message="<b>Ваш голос учтен!</b><br>";
  36.  }
  37.  $view_res=1;
  38.  flock($fh_ip,LOCK_UN);
  39.  fclose($fh_ip);
  40. }
  41.  
  42. if ($view_res==1) {
  43.  $f_name="vote".$_POST['id'].".txt";
  44.     if (file_exists($f_name)) {
  45.     $fh=fopen($f_name,"a+");
  46.     flock($fh,LOCK_EX);
  47.     fseek($fh,0);
  48.     while (!feof($fh)) $file=fread($fh,4096);
  49.     flock($fh,LOCK_UN);
  50.     fclose($fh);
  51.     $file=explode(",", $file);
  52.     $summ=0;
  53.     for ($n=0; $n<count($file); $n++) $summ+=$file[$n];
  54.     if ($summ==0) $summ=1;
  55.     for ($n=0; $n<count($file); $n++) $file[$n]=' - <b>'.$file[$n].
  56.     '</b> ('.round(($file[$n]*100/$summ), 2).'%)';
  57.  }
  58. }
  59.  
  60. echo '<form method="POST" style="margin:0 0 0 35px;">как дела
  61.    <input type="hidden" name="id" value="1">';
  62. echo '<table border="0"><tr><td><input type="radio" name="item" value="0" checked>
  63.    Отлично</td><td>'.$file[0].'</td></tr>';
  64. echo '<tr><td><input type="radio" name="item" value="1">Хорошо</td><td>'.
  65.     $file[1].'</td></tr>';
  66. echo '<tr><td><input type="radio" name="item" value="2">Плохо</td><td>'.
  67.     $file[2].'</td></tr>';
  68.  
  69.        
  70.        
  71.        
  72. echo '<tr><td colspan="2"><input type="submit" name="view_res" value="Результат">
  73.    <input type="submit" name="vote" value="Голосовать">';
  74. echo '</td></tr></table>'.$message.'</form>';
  75. ?>


Отредактировано модератором: Мелкий, 10 Сентября, 2015 - 10:51:05
 
 Top
andrewkard
Отправлено: 07 Сентября, 2015 - 15:06:15
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Vital77
Добавляйте новую форму с другими наименованиями полей и обработчик для нее по аналогии.
 
 Top
Vital77
Отправлено: 08 Сентября, 2015 - 09:07:25
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Я понимаю, что по аналогии надо делать, только не пойму где здесь, что указывается (не силен в PHP). Если не трудно, хотя бы отделить блоки с пояснениями, плиз
 
 Top
Panoptik
Отправлено: 08 Сентября, 2015 - 09:40:43
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




если не трудно, для начала отформатируйте код тегами, а после люди посмотрят трудно им или нет


-----
Just do it
 
 Top
Vital77
Отправлено: 10 Сентября, 2015 - 10:29:21
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Я бы отделил, если б знал, что к чему здесь. Может кто-нибудь пояснить, как работает обработчик?
 
 Top
Марат Мхитарян
Отправлено: 10 Октября, 2015 - 07:37:41
Post Id



Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)

[+]


непарься зайди сюда http://www[dot]woweb[dot]ru/load/69
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB