Вообще, конечно, trim() не соответствует буквально поставленной задаче, но скорее всего соответствует невысказанным
желаниям автора, которому не нужны и символы перевода строк.
А вот нестрогая проверка вообще ничему не отвечает. Не давая ввести вполне себе не пробельный символ 0.
Так что корректный вариант (для всех пробельных символов), пожалуй, будет таким
if (!strlen(trim($string))) {
die;
}
а буквальный (только пробелы) таким
if (!strlen(str_replace(" ", "", $string))) {
die;
}