! пустой (отделка ($ _ POST

Хорошо, проблема в том, что когда я использую функцию trim, она не работает, но когда я запускаю код без функции обрезки, он работает, но не работает должным образом (форма принимает пробелы)

<?php session_start(); unset($_SESSION['username']); if (isset($_SESSION['username'])) {echo "You are in already";} else if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (!empty(trim($_POST['username'])) && !empty(trim($_POST['email']))) { $uname = htmlentities($_POST['username']); $email = htmlentities($_POST['email']); $_SESSION['username'] = $uname; echo "THANKS: " . $uname . "<br />"; } else { echo "fill the goddemn field"; } } else { ?> <form action="index.php" method="post"> <label for="username">USERNAME:</label> <input type="text" name="username" /> <label for="E-MAIL">E-mail:</label> <input type="text" name="email" /> <input type="submit" value="Enter" /> </form> <?php } ?> 

Я попробовал руководство http://php.net/manual/en/function.trim.php, но было трудно читать, и я ничего не понял.

Solutions Collecting From Web of "! пустой (отделка ($ _ POST"

Как написано в руководстве PHP :

empty – определить, является ли переменная пустой

В вашем случае trim – это вызов функции, а не переменная.

Если вы действительно хотите сделать свой оператор if inline, вы можете использовать что-то вроде:

 if (!empty($var=trim($_POST['username'])) && !empty($var=trim($_POST['email']))) 

Но лучше реализовать:

 $username = array_key_exists('username', $_POST) ? trim($_POST['username']) : null; $email = array_key_exists('email', $_POST) ? trim($_POST['email']) : null; if (!empty($username) && !empty($email)) { (...)