Функция setcookie возвращает true или false, в зависимости от того, был ли cookie установлен успешно.Вы можете попробовать это для проверки:
if(!setcookie("user", $userinfo, $expire)) {
echo 'Could not set cookie!';
}
Если это возвращает false, то Кумар прав.В противном случае должна быть какая-то другая причина.
EDIT setcookie может вызываться с большим количеством параметров, например:
setcookie(name,value,expire,path,domain,secure)
Обратите внимание на значения пути и домена.В прошлом у меня были проблемы с двумя разными страницами, которые не находили файлы cookie друг друга из-за разных путей / доменов.
Я заметил, что Вы перенаправляете на "../index.php".Попробуйте перенаправить на «index.php» и посмотреть, существуют ли там файлы cookie.Если да, то вы должны использовать общую переменную «путь» для установки файлов cookie.
С http://www.php.net/setcookie о переменной «path»:
Путь на сервере, на котором будет доступен файл cookie.Если установлено значение «/», файл cookie будет доступен во всем домене.Если установлено значение «/ foo /», файл cookie будет доступен только в каталоге / foo / и во всех его подкаталогах, таких как / foo / bar / домена.Значением по умолчанию является текущий каталог, в котором устанавливается cookie.