(signup_process.php)
$city=cleanup($_POST['city']);
echo $city;
输出:纽约
$_SESSION['city']=$city;
echo $_SESSION['city'];
输出:纽约
问题:
(signup.php)
<form method=post action='signup_process.php'>
City<input type=text name=city value=<?php echo $_SESSION['city'];?>>
输出:新
City<input type=text name=city value=<?php echo urlencode($_SESSION['city']);?>>
输出:New + York
City<input type=text name=city value=<?php echo urlencode(str_replace('+', '', $_SESSION['city']));?>>
输出:New + York
我试图将数据回显到表单中。
答案 0 :(得分:1)
您必须将值放在引号中,否则浏览器会将空格后的部分解释为<input>
标记的另一个属性。 E.g:
<input type="text" name="city" value="<?php echo $_SESSION['city'];?>">
在你的例子中,它将是
<input type=text name=city value=New York>
将 York 作为 value 之后的下一个属性。
答案 1 :(得分:0)
我已经解决了这个问题 解决方案是使用()用于html = space
此解决方案:
str_replace(" ", " ", $_SESSION['city'])
该方法可以在
中使用 echo '<input style="font-size: 17px;color: black;" type="text" name="us" class="form-control" disabled="disabled" value='. str_replace(" "," ",$_SESSION['username']).' >';