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

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, то счетчик прекрасно работает, но тогда теряется весь смысл, ведь будет стандартная кнопка, что для меня не приемлемо.

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

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

warobushek

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

$_POST['b_x'] , $_POST['b_y'] в большинстве браузеров передаются.
 

alen

Новичок
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]++);
 

darabba

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

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

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