$url = 'https://visa.qiwi.com/payment/main.action'; // URL сайта на котором будем авторизоватьсяв чем может быть моя ошибка
$urlTo = 'https://visa.qiwi.com/auth/login.action'; // URL на которой будем слать POST данные
$post = 'login=&password=&source=CONTENT'; // POST данные
$ch = curl_init(); // Инициализируем сеанс CURL
curl_setopt($ch, CURLOPT_URL, $url); // Заходим на сайт
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Делаем так, чтобы страница не выдавалась сразу в поток, а можно было ее записать в переменную
$html = curl_exec($ch); // Имитируем заход на сайт
curl_setopt($ch, CURLOPT_URL, $urlTo); // Устанавливаем адрес куда будем слать POST данные
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Записываем cookies в файл, чтобы потом можно было их считать
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Теперь читаем cookies с файла
curl_setopt($ch, CURLOPT_POST, true); // Говорим, что информация будет отправляться методом POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Передаем POST данные
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Иногда бывает, что после отправки данных происходит редирект heaer('Location:...').
// Этот параметр говорит о то, чтобы мы следовали за ними, а не оставались на месте после отправки данных
$html = curl_exec($ch); // Записываем пришедшие данные в переменную
curl_close($ch); // Закрываем сеанс работы CURL
echo strlen($ch); // И нечего не выводится