Не работает submit формы по картинке (счетчик нажатий на кнопку)

  • Автор темы Автор темы darabba
  • Дата начала Дата начала

darabba

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

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

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

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

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

<?php

$ip=getenv("REMOTE_ADDR");//извлекаю ип
$str2=$ip. "\r\n"; //подготавливаю переменную к записи
$ipsbase = "ipbase.txt";
$file2=file("ipbase.txt");
$c = file('count.txt');

echo '<center><form method="POST">
<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" />
</form></center>';

$submit=$_POST['b'];

if (isset($submit)){
if(in_array($str2,$file2)){ //проверяю есть ли уже такой ип
header("Location: ".$_SERVER["REQUEST_URI"]."");
}

else {

$sb = fopen($ipsbase, "r+"); //открываю файл
fputs($sb,$ip. "\r\n"); //записываю ип в файл
$c[0]++;//+1 к счетчику
$fp = fopen('count.txt','r+');
fputs($fp,$c[0]);
fclose($fp);
}
}

function num2word($c,$words) {
$c=$c[0]%100;
if ($c>19) { $c=$c%10; }
switch ($c) {
case 1: { return($words[0]); }
case 2: case 3: case 4: { return($words[1]); }
default: { return($words[2]); }
}
}

$words=Array("человек", "человека", "человек");

echo "<H2><center>".$c[0]." ".num2word($c, $words)."</center></H2>";

?>


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

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

Заранее благодарю!
 
в некоторых браузерах
для type="image"
передается $_POST['b']
в других нет

$_POST['b_x'] , $_POST['b_y'] в большинстве браузеров передаются.
 
1) JavaScript перестал работать??
2)
PHP:
$sb = fopen($ipsbase, "r+"); //открываю файл
fputs($sb,$ip. "\r\n"); //записываю ип в файл
$c[0]++;//+1 к счетчику
$fp = fopen('count.txt','r+');
fputs($fp,$c[0]);
fclose($fp);
Не хо-хо заменить на
PHP:
 file_put_contents('count.txt',$c[0]++);
 
Господа, я давно уже не занимаюсь сайтостроением. Но вот возникла необходимость сделать простенький сайт.

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

Если кого не затруднит исправить ошибки кода на моем примере, буду очень благодарен, так как сам вряд ли додумаюсь, как исправить.
 
Сверху