переменная увеличения / уменьшения $ _SESSION при нажатии кнопки. Заголовок подсказки ()

1

я Инициализировал $_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 ?>
  • 0
    Вы должны попробовать использовать ajax для увеличения / уменьшения переменных
  • 0
    но может ли он работать без использования ajax и только обычного php? Мне дали подсказку (Подсказка: перенаправление с использованием заголовка («Location: nameofscript.php»); после увеличения или уменьшения переменной сеанса.). Пожалуйста, помогите, я новичок в PHP
Показать ещё 5 комментариев
Теги:
session

2 ответа

0
Лучший ответ
<?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.

  • 0
    Так много мусорного кода, так мало объяснений.
  • 0
    Сэр можно не увеличивать или уменьшать, если вы перезагрузите страницу? только inc / dec, когда ссылка нажата?
Показать ещё 1 комментарий
1

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>
  • 0
    это также работает ^ _ ^ спасибо, сэр!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню