我想用变量为文本框添加水印。
我做到了这样做:
placeholder="<?php echo $user;?>">
这会将正确的信息作为水印放在文本框中。但是,如果我没有在该文本框中输入任何信息(因为我希望数据保持不变),它会清除$user
中存储的数据,因为我没有更新记录。
答案 0 :(得分:2)
虽然不是特别的PHP解决方案(我建议Ben的答案),如果你需要有值,那么你可以使用CSS将值显示为占位符,然后使用:focus
来制作它看起来像一个常规的输入标签。
您还可以使用data-*
属性,然后在提交时使用Javascript / jQuery将值设置为您指定的数据属性。
input[type="text"] {
color: darkgrey;
padding: 5px;
border: 1px solid grey;
}
input[type="text"]:focus {
color: black;
background-color: white;
}
<input type="text" value="Placeholder value" />
答案 1 :(得分:1)
这不会为输入设置值,但即使用户有意提交了空输入,它也是可靠的:
if (strlen($_POST['user']) == 0) {
$_POST['user'] = $user;
}
你也可以用它来创造一个功能:
function nullCheck($index, $default = 'UNKNOWN') {
if (strlen($_POST[$index]) == 0) {
$_POST[$index] = $default;
}
}
然后叫它:
nullCheck('user', $user);
但我不确定你是否将post变量(在函数中)作为:{$_POST[$index]}
,因为它可能会将index变量视为一个单独的变量。
注意:此代码未经测试