Спасибо всем участникм, проблема решена. Как обычно она (проблема) была в кривых ручОнках (моих), неверно прописавших условие проверки POST в головном скрипте.
Особое спасибо камраду Мелкий за подсказку к решению проблемы, честно говоря не догадался использовать такое простое решение.
Подозрение на двойной вызов кода. Первый методом POST и вы видите все echo, затем дублирующий без поста, перезаписывает файл.
Точно! При таком подходе в файле появляется 2 записи, одна с данными, вторая уже известная, пустая.
Спасибо, товарищ! Осталось только отловить, где это происходит.
Да не... Проблема не в путях, файл-то создается и в него записывается все, кроме данных из POST.
Код выше, увы, делает все то же самое, т.е. пишет только явно указанное (т.е. строки "post:" и т.п.)
Как я уже отмечал, если снести вообще ВЕСЬ код (его много) и оставить ТОЛЬКО файл скрипта, то все работает.
Непонятно, почему вывод в консоль работает нормально, а записываться никуда не желает, ни в файл, ни в БД.
В общем, к такому жизнь меня не готовила
ЗЫ
Кстати, если POST поменять на GET, то все работает. Но как-то негламурно через GET передавать логин и пароль из формы.
Все просто, да?
В этом же файле принимаем $_POST, проверяем всякими разными способами (всякие надписи - это я уже для наглядности самому себе выводил).
Все отлично, все в наличии.
Можно сделать echo $_POST['z1'], все будет показываться
var_dump выводит содержимое массива, ничего не теряется, не ломается.
Чудеса начинаются в том случае, если делается попытка записать данные из $_POST в файл или базу. Он просто записывается пустым.
Например
то длина строки выводится, причем неважно, ДО записи в файл этот код поставить или ПОСЛЕ.
Записывать значение $_POST пробовал и в переменные, навроде $a1 = $_POST['z1']; ... Объявлял их global, никакого толку. Все одно - при записи в БД или в файл пишется пустота, а в браузер выводится.
Но самое смешное не в этом. Самое смешное, что в этом же файле есть очень похожая форма, которая работает и пишет в БД, без всяких нареканий.
Вынес в отдельный файл свою форму, обработчк $_POST в другой файл - результат тот же, в браузер выводит, в файл\базу - нет.
Замечу, что этот участок кода когда-то давно работал, а вот когда прекратил... Этот момент я упустил и обнаружил случайно, когда посетители стали жаловаться на то, что их данные при обновлении через форму исчезают.
PHP обновлял последовательно с 5.2.17 до 5.3\5.3.3\5.4 - результата нет. Апач обновил с 2.1.х до 2.2 - результата нет.
OS - CentOS 6.5, в контейнере Virtuozzo.
Имеется .htacess с rewrite (заменяет расширения .php на htm). Выключение оного никаких изменений не дает.