HTML/PHP-默认输入值
我有一个后php表单和一组输入:HTML/PHP-默认输入值,php,forms,input,default-value,Php,Forms,Input,Default Value,我有一个后php表单和一组输入: 你的名字 你的姓 我的名字 每个输入看起来都一样,只是名称不同: <input type="text" name="your_name" value="<?php echo get_option('your_name'); ?>" /> 您可以执行switch语句,并将默认值设置为您想要的任何值。您需要首先检查get_选项的返回,如果默认值不可用,则替换某些值 <?php $default = get_option('yo
<input type="text" name="your_name" value="<?php echo get_option('your_name'); ?>" />
您可以执行switch语句,并将默认值设置为您想要的任何值。您需要首先检查get_选项的返回,如果默认值不可用,则替换某些值
<?php
$default = get_option('your_name');
if( $default == "")
{
$default = <whatever your default value is>;
}
?>
<input type="text" name="your_name" value="<?php echo $default; ?>" />
在开始时使用post变量设置一些变量
像
$name_val=”“;
如果(isset($_POST[“你的名字”])
{
$name\u val=$\u POST[“你的名字”];
}
由于value
是默认值,因此只需在get\u选项
-函数周围添加一个条件,可能类似以下内容:
<input type="text" name="your_name" value="<?php $var = get_option('your_name'); if ($var == '') $var = 'your_default'; echo $var; ?>" />
您可以将get\u option()
函数更改为
function get_option($name) {
$defaults = array(
'fist_name' => 'Mike',
'fist_name' => 'Wordpressor',
'my_name' => 'Dunno'
);
// get the value from the $defaults array
$val = $defaults[$name];
// but if the same value has already been posted - replace the default one
if (isset($_POST[$name])) {
$val = $_POST[$name];
}
return $val;
}
我同意特内夫的观点,但我会破口大骂
在index.php中,我会在文档顶部显示以下内容
<?
$defaultText = include 'default_text.php';
?>
您的表格所在的位置应为:
<form method="post" action="">
<input id="names"><? echo $defaultText; ?> </input>
</form>
然后我将在根级别上有一个单独的文件,名为“default_text.php”
在这种情况下,您可以使用我的微型库,例如:
$default = ValueResolver::resolve(get_option('your_name'), '<whatever your default value is>');
查看更多示例这是我在我的问题中解决此问题的方法,我认为类似于此,当读取$\u POST时,该值从$\u POST值填充,否则设置默认值
value="<?php if (isset($_POST['name'])) echo $_POST['name']; else echo "Mike"?>" >
value=”“>
希望有一天这能帮助某人使用三元运算符。试试这个很简单
$default = 'Mike';
$your_name = get_option('your_name');
$condition = !empty($your_name) ? $your_name : $default;
<input type="text" name="your_name" value="<?php echo $condition; ?>" />
$default='Mike';
$your_name=get_选项(“your_name”);
$condition=!empty($your_name)?$your_name:$default;
我不明白在什么情况下,value=
将不可用。你能澄清一下为什么它可能不可用吗?@David Thomas,更新了这个问题。请记住转义特殊字符!@Wordpressor你可以使用我的小库来做得更简单,请检查我的答案,这里面有一个巨大的XSS漏洞。而且,不要太挑剔,在值
属性中有一个未终止的php行。@David Thomas,你所说的未终止行是什么意思?@Ummar在$name\u val
之后没有终止的;
。严格地说,我认为不必有,但是……它不存在的时候,我只是觉得很讨厌。(虽然我还没有否决答案。)请停止使用短开放标记。它们可能在某些配置中被禁用,PHP将来可能不再支持它。在html中编写所有逻辑不是最佳做法:)非常正确,但我只是演示了实现这一点的方法。应该假设与php代码和HTML的结构化分离。您可以使用我的小型库来更简单地实现这一点。为了避免XSS攻击,请将上面的echo$\u POST['name']
替换为echo htmlspecialchars($\u POST['name'])
。
<input type="text" name="your_name" value="<?php echo empty(get_option('your_name')) ? "TheDefaultValue" : get_option('your_name'); ?>" />
$default = ValueResolver::resolve(get_option('your_name'), '<whatever your default value is>');
$id = ValueResolver::toInteger('6 apples', 1); // returns 6
$id = ValueResolver::toInteger('There are no apples', 1); // returns 1 (used default value)
value="<?php if (isset($_POST['name'])) echo $_POST['name']; else echo "Mike"?>" >
$default = 'Mike';
$your_name = get_option('your_name');
$condition = !empty($your_name) ? $your_name : $default;
<input type="text" name="your_name" value="<?php echo $condition; ?>" />