Входное значение формы усекается при использовании строки PHP

У меня есть форма на одной странице PHP, которая принимает имя, а затем передает его на вторую страницу, чтобы отобразить его.

Входная страница

<?php
echo <<< _END

<html>
<head>
<title>Full PHP Enclosed Form</title>
</head>
<body>

<form name="form1" method="post" action="fullPHPShowName.php" >
<strong>Name:</strong> <input type="text" name="name"><br>
<input type="submit" value="Submit"></form>

</body>
</html>
_END
?>

Эта часть работает нормально. На второй странице «fullPHPShowName.php» полное имя с пробелом между именем и фамилией в строке очень хорошо отображается, когда я использую $name переменная вне формы. Проблема возникает, когда я использую переменную в атрибуте value элемента формы.

fullPHPShowName.PHP code:

<?php

$name = htmlspecialchars($_POST[name]);
echo <<< _END

<html>
<head>
<title>My Name</title>
</head>
<body>

$name <!--this line works just fine -->
<form name="form1 method="post" action="">

<strong>Name: </strong><input  type="text" name="showname" value = $name>

</form>

</body>

</html>
_END

?>

-2

Решение

Вам не хватает кавычек. Также заключите переменную в фигурные скобки Попробуйте:

<?php

$name = htmlspecialchars($_POST[name]);
echo <<< _END

<html>
<head>
<title>My Name</title>
</head>
<body>

$name <!--this line works just fine -->
<form name="form1" method="post" action="">

<strong>Name: </strong><input  type="text" name="showname" value = "{$name}">

</form>

</body>

</html>
_END
?>
1

Другие решения

Попробуйте сделать что-то вроде этого:

<input  type="text" name="showname" value ="<?php echo $name;?>" >

или же

 <input  type="text" name="showname" value="{$name}" >
0

По вопросам рекламы [email protected]