2015-08-20 2 views
-1

Я хочу сохранить одно содержимое переменной, когда обновляюсь, потому что это похоже на счетчик, и это код, который у меня есть с использованием сеанса, но он, похоже, не хочет работать.
И да, я смотрел на других сайтах за ошибки, и я удалил все пробелы ненужным и т.д.Как сохранить содержимое переменной при обновлении NOT using session PHP

session_start(); 
$result = mysql_query('SELECT MIN(ID) AS min, MAX(ID) AS max FROM ytable') or exit(mysql_error()); 
$row = mysql_fetch_assoc($result); 
if($_SESSION['counter'] < $row['max']){ 
    if (isset($_SESSION['counter'])){ 
     $counter = $_SESSION['counter']++; 

    }else{ 
      $counter = $_SESSION['counter'] = 0; 
     } 
} 

там что-то случилось с моим кодом? Если нет, есть ли другой способ сделать то же самое?

+0

«но это, кажется, не хотят работать» --- перефразировать носить некоторый технический смысл. Мы понятия не имеем, что означает «не хочет работать», когда вы говорите о языке программирования. – zerkms

+0

Извините, эти два всегда появляются: Предупреждение: session_start() [function.session-start]: Не удается отправить cookie сеанса и Warning: session_start() [function.session-start]: Не удается отправить ограничитель кеша сеанса –

+0

вы не можете начать сеанс сеанса после того, как вы уже отправили вывод страницы, если вы эхом отзываете что-либо или выплевываете какой-либо html, вы должны сначала вызвать session_start. – chiliNUT

ответ

0
if($_SESSION['counter'] < $row['max']){ 
    if (isset($_SESSION['counter'])){ 
     $counter = $_SESSION['counter']++; 
  1. это не имеет смысла, чтобы проверить, если $_SESSION['counter'] меньше $row['max'] и затем сделать isset на него, вы должны сделать isset первый.

  2. Это, скорее всего, ваш вопрос: При использовании ++ на правой стороне она возвращает текущее значение, то приращение (пост-инкремент). если вы хотите увеличить его, и возвращает измененное значение, вам нужно использовать версию предварительно inrement, так что

    $counter = ++$_SESSION['counter'];

, например;

$a=1; 
$b=$a++; 
//$a=2, $b=1 

$a=1; 
$b=++$a; 
//$a=2, $b=2 

Смотрите также: Pre-incrementation vs. post-incrementation

+0

Мне не нужен предварительный инкремент, потому что я хочу, чтобы возвращаемое значение увеличилось.Не оригинальное значение, и я не думаю, что ваш код прав, если вы прочтете ссылку, которую вы предоставили, или я схожу с ума? Спасибо за помощь, хотя –

+0

pre-increment: сначала приращиваем, а затем возвращаем добавочное значение. вы хотите предустановить. – chiliNUT

Смежные вопросы