Начиная сверху. Ваши HTML атрибуты, которые содержат строки, должны быть заключены в строки, например:
<form action="palindrome.php" method="POST">
Вы не можете определить атрибуты нескольких типов для -Tag: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input Вы Вам нужно будет создать несколько элементов:
<input type="text" name="number">
<input type="submit" name="submit">
Следующие строки уязвимы для межсайтового скриптинга (XSS). Вы ДОЛЖНЫ изучить и предотвратить XSS (и другие) перед публикацией реальных веб-приложений.
$abc= $def = $_POST["number"];
echo "$def</br>";
Краткое объяснение: Вы выводите содержимое переменной $def
, которая равна что пользователь отправил с помощью HTTP Post Request с именем поля "number"
. Пользователь может отправить вам все, что угодно, и вы подтвердите это. Значение: я могу отправить вам действительный HTML, который вы получите, и мой браузер оценит его как HTML, потому что он не имел оснований полагать, что это что-то иное, чем вы хотели.
Обращаясь к вашей функции и переменной области. Если вы хотите использовать переменные из другого кода внутри вашей функции (есть исключения в объектно-ориентированном программировании [OOP] et c.), Вам нужно передать их внутри функции в качестве аргумента: https://www.php.net/manual/en/functions.arguments.php Вы бы определили свою функцию следующим образом:
function pali($a, $b, $abc, $def) { /* (Your logic goes here) */ }
И вы бы назвали свою функцию следующим образом:
pali($a, $b, $abc, $def);
Я должен указать, что ваша функция снова уязвима для кросс- скрипты сайта (XSS).
echo '$def is palindrome '.$def ;
else
echo '$def is not a palindrome '.$def;
echo "<br>$b";
Вы снова выводите любое содержимое в вашей переменной. Однако первые $def
в первых двух эхосигналах не будут отражать содержимое, а скорее текст $ def, так как вы использовали одинарные кавычки. Если вы попытаетесь отобразить содержимое переменной внутри одинарных кавычек, это не сработает, только с двойными кавычками. Написание небезопасных приложений - это нормально, если вы находитесь в процессе обучения, но позже, перед публикацией приложения, вам нужно будет изучить основы безопасности веб-приложений (SQLi, XSS, ...).