【问题标题】:Add Multiple Choice Questions to PHP Web Form向 PHP Web 表单添加多项选择题
【发布时间】:2021-06-26 01:23:30
【问题描述】:

我有一个标准的 PHP Web 表单,其中包含文本字段、下拉菜单和单选按钮。提交表格后,提交的信息会通过电子邮件发送给我。我想添加一个带有复选框的多项选择题。我可以生成表单字段,但我不知道如何在提交表单时发送的电子邮件中包含多个选择项。理想情况下,我希望在一行上进行多项选择,并用分号(或逗号,如果这样更容易的话)分隔

我已经包含了我认为是代码的相关部分。抱歉,如果我没有正确格式化这篇文章。

                <form  action="example.php" method="post" autocomplete="off">
                                    
                <div class="form-row">
                
            
                <label for="first">
                <span>First Name:</span>
                <input type="text" id="first"  name="first" autocomplete="off" list="autocompleteOff">
                </label>
                </div>
        
                <div class="form-row">
                <label for="last">
                <span>Last Name:</span>
                <input type="text" id="last"  name="last" autocomplete="off" list="autocompleteOff">
                </label>
                </div>
                
                <div class="form-row">
                <label for="email">
                <span>E-mail:</span>
                <input type="text" id="email"  name="email" autocomplete="off" list="autocompleteOff">
                </label>
                </div>
                
                <div class="form-row-multiple">
                <label for="multiple">
                <span>Choose all that apply:</span><br>
                <input type="checkbox" name="multiple" id="multiple" value="Option 1"><span>Option 1</span>
                <input type="checkbox" name="multiple" id="multiple" value="Option 2"><span>Option 2</span>
                <input type="checkbox" name="multiple" id="multiple" value="Option 3"><span>Option 3</span>                 
                <input type="checkbox" name="multiple" id="multiple" value="Option 4"><span>Option 4</span>                 </label>
                </div>  
               
                <div class="form-row">
                <button type="submit" name="submit" id="submit"><b>Submit</b></button>
                </div>
                    
                </form>



                <?php
                $first = remove_headers($_POST['first']);
                $last = remove_headers($_POST['last']);
                $email = remove_headers($_POST['email']);
                $multiple = remove_headers($_POST['multiple']);
                
                
                $message =
                "First: $first\n\n" .
                "Last: $last\n\n" 
                "E-mail: $email\n\n" 
                "Multiple: $multiple\n\n" 

【问题讨论】:

    标签: php html forms


    【解决方案1】:

    这里有两件事要做,

    1. 对于多个复选框,使用 name 属性作为数组并删除 id 属性,因为 HTML 页面应该有一个唯一的 ID。

      <input type="checkbox" name="multiple[]" value="Option 1"><span>Option 1</span>
      <input type="checkbox" name="multiple[]" value="Option 2"><span>Option 2</span>
      <input type="checkbox" name="multiple[]" value="Option 3"><span>Option 3</span>
      <input type="checkbox" name="multiple[]" value="Option 4"><span>Option 4</span>
      
    2. 提交表单时,多值复选框作为数组接收。因此,我们可以使用implode() 函数使其以分号分隔。

      $multiple = implode(';', $_POST['multiple']);
      

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 1970-01-01
      • 2011-04-11
      • 2016-02-02
      • 2011-04-28
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多