按钮计数器的PHP代码

Am trying to run a php code which counts button clicks. It increments to 1 and then it doesn't count. here is my code:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $counter = isset($_POST['counter']) ? $_POST['counter'] : 0;
  if(isset($_POST["button"])){
    $counter++;
    echo $counter;
   }
}
?>
<form action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method = post>
  <input type = "submit" name = "button" value = "vote" >
</form>

Am not a php expert so can anybody please tell me where am going wrong?

Thanks

Use this php:

<?php
if(isset($_POST["button"])){
    $counter++;
    echo counter;
}
?>

Also, use this for the opening <form> element

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

Try this:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $counter = isset($_POST['counter']) ? $_POST['counter'] : 0;
  if(isset($_POST["button"])){
    $counter++;
    echo $counter;
   }
}
?>
<form action = "<?php echo $_SERVER["PHP_SELF"]; ?>" method = post>
  <input type = "hidden" name = "counter" value = "<?php echo $counter; ?>" />
  <input type = "submit" name = "button" value = "vote" />
</form>

Store the count in a session. Note that this stores a separate count for each user. If you want one single count that is shared between all users then you'll need to store it in a database.

<?php
// Start the session
session_start();
// Make sure a session variable exists
if ( !isset($_SESSION['count']) ) {
    $_SESSION['count'] = 0;
}
// Check to see if a vote has been submitted
$vote = isset($_POST['button']) ? $_POST['button'] : false;
if ( $vote ) {
    // Increment the vote
    $_SESSION['count']++;
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post">
    <input type="submit" name="button" value="Vote">
</form>