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 :: Не работает submit формы по картинке (счетчик нажатий на кнопку)

 PHP.SU

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


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

> Без описания
darabba
Отправлено: 18 Марта, 2011 - 22:21:46
Post Id


Новичок


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


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




Приветствую всех форумчан!

Срочно нужна помощь гуру PHP.

У меня есть счетчик нажатий на кнопку, где кнопка не стандартная, а нарисованная в трех вариантах для каждого состояния (стационарное положение, при наведении мышью, вжатая).

Проблема моя в том, что при нажатии на кнопку форма видимо не сабмитится, т.е. не прибавляется единица к счетчику.

Код выглядит так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $ip=getenv("REMOTE_ADDR");   //извлекаю ип
  4.  
  5. $str2=$ip. "\r\n";    //подготавливаю переменную к записи
  6.  
  7. $ipsbase = "ipbase.txt";
  8.  
  9. $file2=file("ipbase.txt");
  10.  
  11. $c = file('count.txt');
  12.  
  13. echo '<center>
  14.   <form method="POST">
  15.      <input type="image" name="b" src="button_off.jpg"       onmouseover="this.src=\'img/button_on.jpg\';"  onmousedown="this.src=\'img/button_push.jpg\';"  onmouseout="this.src=\'img/button_off.jpg\';" border="0" />
  16.   </form></center>';
  17.  
  18. $submit=$_POST['b'];
  19.  
  20. if (isset($submit))
  21. {
  22. if(in_array($str2,$file2)){ //проверяю есть ли уже такой ип
  23. header("Location: ".$_SERVER["REQUEST_URI"]."");
  24. }
  25.  
  26. else {
  27.  
  28. $sb = fopen($ipsbase, "r+"); //открываю файл
  29. fputs($sb,$ip. "\r\n"); //записываю ип в файл
  30. $c[0]++;//+1 к счетчику
  31. $fp = fopen('count.txt','r+');
  32. fputs($fp,$c[0]);
  33. fclose($fp);
  34. }
  35. }
  36.  
  37. function num2word($c,$words) {
  38. $c=$c[0]%100;
  39. if ($c>19) { $c=$c%10; }
  40. switch ($c) {
  41. case 1: { return($words[0]); }
  42. case 2: case 3: case 4: { return($words[1]); }
  43. default: { return($words[2]); }
  44. }
  45. }
  46.  
  47. $words=Array("человек", "человека", "человек");
  48.  
  49. echo "<H2><center>".$c[0]." ".num2word($c, $words)."</center></H2>";
  50.  
  51. ?>



Если конечно в INPUT заменить type с image на submit, то счетчик прекрасно работает, но тогда теряется весь смысл, ведь будет стандартная кнопка, что для меня не приемлемо.

Пожалуйста, прошу Вас о помощи, как мне поправить код, чтобы счетчик заработал?

Заранее благодарю!


Отредактировано модератором: Champion, 19 Марта, 2011 - 09:15:00
 
 Top
DlTA
Отправлено: 18 Марта, 2011 - 22:58:22
Post Id



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


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


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




не скажу за всех, но читать твой код очень тяжело
а понять что он должен делать еще сложнее

а вообще посмотри что такое сессии и куки
и все станет на много проще

(Отредактировано автором: 19 Марта, 2011 - 08:07:04)

 
 Top
ALEN
Отправлено: 18 Марта, 2011 - 23:34:01
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




DlTA
Поддерживаю, просто лень читать, очень напрягает.
darabba
Код оформи пожалуйста красиво
 
 Top
Champion Супермодератор
Отправлено: 19 Марта, 2011 - 09:17:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Может я что-то не заметил... А где написано, что при нажатии на кнопку что-то должно произойти кроме изменения картинки?
 
 Top
DlTA
Отправлено: 19 Марта, 2011 - 10:34:56
Post Id



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


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


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




 
 Top
mr_id
Отправлено: 19 Марта, 2011 - 10:42:30
Post Id


Новичок


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


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




DlTA
+1

darabba

(Отредактировано автором: 19 Марта, 2011 - 10:43:48)

 
 Top
Champion Супермодератор
Отправлено: 19 Марта, 2011 - 10:42:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Блин, точно)
Штука в том, что при нажатии на такую кнопку не приходит элемент с именем b, если не задано св-во value, а приходят только элементы с именами b_x и b_y. Вот, собственно и всё.
 
 Top
DlTA
Отправлено: 19 Марта, 2011 - 10:57:48
Post Id



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


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


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




походу
любой элемент со значением value="" не отправляется
при type='submit' браузет туда сам пишет
вот оно и отправляется
 
 Top
darabba
Отправлено: 19 Марта, 2011 - 16:48:08
Post Id


Новичок


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


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




Господа, я давно уже не занимаюсь сайтостроением. Но вот возникла необходимость сделать простенький сайт.

PHP и Java никогда не изучал, так что делаю все с помощью собственных додумываний и догадок, иногда беру просто готовые скрипты и оптимизирую их под свои задачи, но всего знать не могу, так как не изучал.

Если кого не затруднит исправить ошибки кода на моем примере, буду очень благодарен, так как сам вряд ли додумаюсь, как исправить.
 
 Top
Champion Супермодератор
Отправлено: 19 Марта, 2011 - 16:50:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




darabba, если тебя не затруднит прочитать мое второе сообщение, то ты додумаешь как исправить
 
 Top
DlTA
Отправлено: 19 Марта, 2011 - 16:51:44
Post Id



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


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


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




десятая строчка
<input type="image" name="b" src="button_off.jpg"
допиши в конце value="b"

должно поучиться
<input type="image" name="b" src="button_off.jpg" value="b" и все что там дальше
 
 Top
darabba
Отправлено: 19 Марта, 2011 - 16:57:08
Post Id


Новичок


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


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




Всем большое спасибо за помощь.

Особенно хочу поблагодарить DITA! При указании value="b" счетчик наконец стал работать.
 
 Top
DlTA
Отправлено: 19 Марта, 2011 - 17:00:32
Post Id



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


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


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




дык кликни на кнопашку "Спасибо!"

и Champion-у заодно
он нашел
 
 Top
darabba
Отправлено: 19 Марта, 2011 - 17:02:36
Post Id


Новичок


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


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




[quote=DlTA][/quote]

Хотел, но не получилось: "Количество сообщений, оставленных Вами на форуме, недостаточно дла данной операции."
 
 Top
JustUserR
Отправлено: 20 Марта, 2011 - 00:03:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




darabba В качестве возможного варианта решения предполагаемой задачи, допустимо использование дополнительного определяемого информационного поля оригинальной формы подачи запроса, который обеспечивают включение явной передачи данных на основании ассоциированного hidden-элемента, что позволяет осуществить включение аспекта независимости функционирования web-приложения от используемого внешнего идентификатора submit-кпопки


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB