Я пытаюсь запустить PHP-код, который считает нажатия кнопок. Увеличивается до 1 и не учитывается. вот мой код:
<?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>
Я не эксперт php, так что кто-нибудь может сказать, пожалуйста, где я не так?
Спасибо
Используйте этот php:
<?php
if(isset($_POST["button"])){
$counter++;
echo counter;
}
?>
Кроме того, используйте это для открытия <form>
элемент
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Попробуй это:
<?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>
Сохраните счет в сеансе. Обратите внимание, что здесь хранится отдельное количество для каждого пользователя. Если вам нужен один общий счет, который будет использоваться всеми пользователями, вам нужно будет сохранить его в базе данных.
<?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>