Я изучаю PHP и думаю, что у меня проблемы с filter_input
функция.
<?phpif (!isSet(filter_input(INPUT_COOKIE, 'nazwa')) && !isSet(filter_input(INPUT_GET, 'nazwa')))
{
include ("header.html");
include 'form.html';
include 'footer.html';
}
else if (isset(filter_input(INPUT_GET, 'nazwa'))) {
setcookie("nazwa", (filter_input(INPUT_GET, 'nazwa')), time() + 60*60*24*365);
include 'header.html';
echo "<p> Dziękujemy za podanie danych.</p>";
include 'footer.html';
}
else {
include 'header.html';
echo "Witamy, zostałeś rozpoznany jako {filter_input(INPUT_COOKIE, 'nazwa')}.";
include 'footer.html';
}
?>
Я получил:
Неустранимая ошибка: невозможно использовать возвращаемое значение функции в контексте записи в C: \ Users \ User \ Documents \ NetBeansProjects \ PhpProject3 \ cookie \ index.php в строке 4
Не могли бы вы помочь мне?
Ты используешь
isset(filter_input(INPUT_GET, 'nazwa')
Вместо этого вы можете использовать что-то вроде этого (везде, где вы звоните isset()
):
$func = filter_input(INPUT_COOKIE, 'nazwa');
isset($func)
Прямо из PHP документация
Предупреждение
isset () работает только с переменными, поскольку передача чего-либо еще приведет к ошибке разбора. Для проверки, установлены ли константы, используйте функцию define ().
isset()
это языковая конструкция Не нормальная функция.
Вы не можете использовать isset()
в результате вызова функции, здесь filter_input()
,
Потяните filter_input()
вызвать (присвоить возвращаемое значение функции переменной, а затем проверить его)
$nazwa = filter_input(INPUT_POST, 'nazwa');
if($nazwa) { ... }
или вставьте это:
if ($nazwa = filter_input(INPUT_POST, 'nazwa'))
{
// your code
} else {
echo 'Nope';
}