Я нашел этот скрипт в php, который подсчитывает нажатия кнопок и сохраняет их в txt-файле.
<?php if( isset($_POST['clicks']) ) { clickInc(); } function clickInc() { $count = ("clickcount.txt"); $clicks = file($count); $clicks[0]++; $fp = fopen($count, "w") or die("Can't open file"); fputs($fp, "$clicks[0]"); fclose($fp); echo $clicks[0]; } ?> <html> <head> <title>button count</title> </head> <body> <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post"> <input type="submit" value="click me!" name="clicks"> </form> </body> </html>
что я не могу понять, как эхо количество щелчков кнопки в другую часть html. я попытался поставить:
<?php echo $clicks[0]; ?>
но это не работает. Что я делаю не так? благодаря..
Я предлагаю отделить часть кода, которая считывает количество кликов из части, которая увеличивает его, чтобы вы могли называть каждую часть самостоятельно. Тогда вам не нужно сохранять счетчик кликов из фактической части инкремента; вы можете получить количество кликов на своем собственном при необходимости, точно так же, как оно существует в файле в этот момент времени.
if( isset($_POST['clicks']) ) { incrementClickCount(); } function getClickCount() { return (int)file_get_contents("clickcount.txt"); } function incrementClickCount() { $count = getClickCount() + 1; file_put_contents("clickcount.txt", $count); }
При этом вы можете включить текущий счет в любой точке вашего HTML, вызвав функцию getClickCount
.
<div>Click Count: <?php echo getClickCount(); ?></div> </body>
Из-за ваших $ clicks [0] является частью функции clickInc.
$clicsCount = 0 if( isset($_POST['clicks']) ) { $clicsCount = clickInc(); } function clickInc() { $count = ("clickcount.txt"); $clicks = file($count); $clicks[0]++; $fp = fopen($count, "w") or die("Can't open file"); fputs($fp, "$clicks[0]"); fclose($fp); return $clicks[0]; }
чем положить
<?php echo $clicsCount; ?>
где вам это нужно