从Db检索后输入字段中的额外选项卡

时间:2012-10-02 13:09:55

标签: php html mysql

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

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

所以,如果db中的输入是'coldplay'。检索到的数据看起来像'[tab] [tab] [tab] coldplay',并且url中有很多%09s。

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

2 个答案:

答案 0 :(得分: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'); 
}

我将该函数称为将输出原始代码输出到表单域的地方。

答案 1 :(得分:0)

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