PHP Store значения - PullRequest
       17

PHP Store значения

0 голосов
/ 14 ноября 2011

У меня есть php-приложение, постоянно получающее координаты x и y с сервера. Основываясь на значениях x и y, он помещает изображение на экран. Страница постоянно обновляется каждые 10 секунд. Я хочу сохранить ранее полученные значения x и y (до обновления) в x1 и y1, а затем сохранить текущее полученное значение в x и y (после обновления), чтобы я мог вычислить x1-x и y1-y.

<?php
session_start();  
if(isset($_SESSION['x1']))
    $_SESSION['x1'] = $x;
else
    $_SESSION['x1'] = 0;

$x = //Some method of fetching the x position from server
?>

Проблема с приведенным выше кодом состоит в том, что во время каждого обновления значение x1 заменяется текущим x, то есть x1 становится равным x. Как мне сделать х1, чтобы сохранить его значение.

Ответы [ 3 ]

4 голосов
/ 14 ноября 2011

Наиболее очевидное решение: поместить значения в сеанс на конце запроса.

session_start();  
if(!isset($_SESSION['x1']))
    $_SESSION['x1'] = 0;

// your code here

$_SESSION['x1'] = $x;
exit; // Not really, just to clarify, that the script should end here
      // or at least its not that important, what comes next
0 голосов
/ 14 ноября 2011

Вам нужно опубликовать немного больше вашего кода. Исходя из того, что у вас есть, я не понимаю, как это может выполнить то, что вы хотите. Допустим, значение $ x равно 4. Вы выполняете запрос, а $ x теперь равно 7. Затем установите значение $ _SESSION ['$ x1'] равным 7 и сохраните его. Но после обновления вы вытягиваете это значение $ x1, равное 7, и немедленно сбрасываете значение до $ x. Зачем? Это уже имеет значение, которое вы хотели, 7, который является предыдущим значением $ x. Затем вы собираетесь установить $ x, который теперь равен 7, на любое число, которое вы извлекаете с сервера, и предыдущее значение будет потеряно навсегда.

0 голосов
/ 14 ноября 2011

x1 должен сохранять свое значение при каждом вызове в сеансе.Вы перезаписываете это, хотя сразу с $ x от того, что я вижу здесь.

Если вы публикуете переменную $ x в сравнении, сравните $ x с $ _SESSION и посмотрите на эти два значения, прежде чем перезаписывать.Выведите $ _SESSION ['x1'] перед тем, как писать в него.Вы должны увидеть предыдущее значение там, прежде чем перезаписать его.

...