HTML/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

我有一个后php表单和一组输入:

  • 你的名字
  • 你的姓
  • 我的名字
  • 每个输入看起来都一样,只是名称不同:

    <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; ?>" />