Прежде всего: взгляните на время и сравните их.
(new Date()).valueOf();
- даст вам микросекунды, а
array_pop(explode(" ",microtime()));
- вернет только секунды.
Таким образом, ваше сравнение никогда не будет совпадать.
Но вообще не стоит сравнивать клиентское и серверное время, поскольку предполагается, что оба имеют одинаковое правильное время и находятся в одном часовом поясе.
Если вам действительно нравится проводить это сравнение, предоставьте метку времени на стороне сервера для javascript в начале, добавьте перед отправкой секунд, прошедших к этой метке времени, и используйте это как $ tmp.time
Как бы вы ни делали, такие вещи, как время, домен или IP-адрес практически бесполезны, если вы отправляете их, они ненадежны и могут быть очень легко подделаны.
Что еще: вам лучше использовать хеши, которые ваша СУБД может обрабатывать самостоятельно, так что вы можете выбрать 1 пользователя, которого хотите найти, непосредственно с помощью Query, и не выполнять циклический просмотр всех пользователей