я Инициализировал $_SESSION variable = 1
и я хочу increment/decrements
ее значение при щелчке ссылки. И ссылки будут перезагружать страницу, а затем повторить значение $_SESSION
. Мне дали подсказку, переработанную с помощью header()
но я до сих пор не могу понять, как это сделать.
<?php
if (isset($_SESSION['count'])) {
$count = $_SESSION['count'];
} else {
$count = '';
}
?>
<a href="index.php?inc=TRUE">Increment</a>
<a href="index.php?dec=TRUE">Decrement</a>
<?php if (isset($_SESSION['count'])): ?>
<?php echo $count ?>
<?php endif ?>
<?php
session_start();
if(!isset($_SESSION['count'])
$_SESSION['count'] = 0;
$counter = $_SESSION['count'];
$counter = (int)$counter;
if (isset($_GET['inc'])==TRUE) {
$counter++;
$_SESSION['count'] = $counter;
header("Location: index.php");
}
if (isset($_GET['dec'])==TRUE) {
$counter--;
$_SESSION['count'] = $counter;
header("Location: index.php");
}
?>
Также вам может понадобиться указать $ counter int.
header("Location: index.php")
- это перенаправление php. В этом случае, если код выше уже находится в файле index.php, нет необходимости перенаправлять пользователя.
<?php
session_start();
if(!isset($_SESSION['count']) { // first time opening the page
$_SESSION['count'] = 0; // initializing the counter
} else { // counter already have a value
if(isset($_GET['inc'])) { // increasing
echo ++$_SESSION['count']; // no need for extra variable (preincrement to echo immediately)
}
if(isset($_GET['dec'])) { // decreasing
echo --$_SESSION['count']; // no need for extra variable (predecrement to echo immediately)
}
}
?>
<a href="index.php?inc=TRUE">Increment</a>
<a href="index.php?dec=TRUE">Decrement</a>