Безопасно ли так производить запись пользовательского текста в базу?
$sth = $dbpdo->prepare("INSERT INTO `blogs` SET `text` = ?");
Этого достаточно для защиты от sql injection.

В приведённом коде нет проверки авторизации и защиты от CSRF.

$post_text = addslashes($_POST['post_text']);
Зачем это тут?

if(strlen($post_text) > 15) {
К безопасности это не относится, но лучше всё же mb_strlen.
А где htmlspecialchars и иже с ними?