1

我正在尝试通过 PHP 从输入字段中的数据库中检索数据。如果数据存在,我想在输入字段中显示这个检索到的值,而不是占位符。我能够从数据库中检索数据,但它在实际输入之前添加了一些额外的选项卡。

<input type="text" name="title" id="title"  value="
<?php  
    $title='title';
    $clean = trim(retrieve_project_info($email,$title));
    echo $clean;
?>">

因此,如果数据库中的输入是“酷玩”。检索到的数据看起来像 '[tab][tab][tab]coldplay' 并且 url 中有很多 %09s。

我使用 trim 方法删除了空格。但是,修剪不会删除标签。知道如何删除这些标签吗?

4

2 回答 2

1

是的,删除选项卡很容易,但您最好找出它们存在的原因,而不是删除它们。但是你的代码:

<input type="text" name="title" id="title"  value="
<?php  
    $title='title';
    $clean = trim(retrieve_project_info($email,$title));
    echo $clean;
?>">

最好这样写:

<?php  
    $title='title';
    $clean = trim(retrieve_project_info($email,$title));    
?>
<input type="text" name="title" id="title"  value="<?php echo $clean; ?>">

这有助于删除你的标签吗?我建议这样做的原因是因为retrieve_project_info 可以输出选项卡。

另一个观察:如果 $clean 包含 " 你的代码会失败吗?

编辑:@palmi

我就是这样做的:

function doFormSafeHTMLEncode($someStr){
    return htmlspecialchars($someStr,ENT_QUOTES,'UTF-8'); 
}

我在将原始代码输出到表单域的任何地方都调用该函数。

于 2012-10-02T13:14:16.210 回答
0

取出代码中的选项卡并将其放在屏幕的镶边上。我做到了,它对我有用。尽管拥有可读的代码很棒,但是这种方法现在有效,直到我找到另一个解决方案。

于 2015-05-14T22:34:34.003 回答