使用PHP字符串时,表单输入值被截断

时间:2017-01-05 21:20:23

标签: php string truncated

我在一个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
?>

这部分似乎工作正常。在第二页&#34; fullPHPShowName.php&#34;,当我在表单外部使用$name变量时,字符串中名字和姓氏之间带有空格的全名显示正常。当我在表单元素的value属性中使用变量时,会出现问题。

fullPHPShowName.PHP代码:

<?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 个答案:

答案 0 :(得分:1)

您缺少一些引号。还在括号之间包含变量尝试:

<?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 :(得分:0)

尝试做这样的事情:

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

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