Возможно, у вас проблема с вашей структурой URL. Возможно, вы пытаетесь опубликовать данные по URL, который отличается от вашего текущего местоположения. Это похоже на атаку межсайтового скриптинга, и в этом случае сервер не сможет получить ваши опубликованные переменные.
Пример того, о чем я говорю:
У меня есть форма здесь: http://www.mywebsite.com/myform.php
Сейчас я пытаюсь отправить форму по адресу: http://mywebsite.com/myform.php
Для пользователя это выглядит нормально, но сервер считает, что www. версия сайта - это другой веб-сайт, и он не захватывает ваши переменные.
Для согласованности вы всегда должны заставлять пользователя использовать либо www. , либо не www. версию вашего сайта с использованием файла .htaccess .
Надеюсь, это поможет.