多个选择选项添加到PHP表单 [英] multiple select option added into php form

查看:355
本文介绍了多个选择选项添加到PHP表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我用于表单(多个文件上传)的php代码:

This is the php code I'm using for my form (multiple files upload):

<?php
$to = "emailaddress@gmail.com";
$subject= "Request For Quote";
$todayis = date("l, F j, Y, g:i a") ;
$subject= "Request For Quote";
$name = $_POST['name'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$cmname = $_POST['cmname'];
$message = "
Date ------- $todayis
Name ------ $name
Last Name ------- $lastname
Email ----------- $email
Company --------- $cmname
";
  $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
        $headers = "From: $email\r\n" .
     "MIME-Version: 1.0\r\n" .
        "Content-Type: multipart/mixed;\r\n" .
        " boundary=\"{$mime_boundary}\"";
     $message = "This is a multi-part message in MIME format.\n\n" .
        "--{$mime_boundary}\n" .
        "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
        "Content-Transfer-Encoding: 7bit\n\n" .
     $message . "\n\n";
     foreach($_FILES as $userfile)
     {
        $tmp_name = $userfile['tmp_name'];
        $type = $userfile['type'];
        $name = $userfile['name'];
        $size = $userfile['size'];
        if (file_exists($tmp_name))
        {
           if(is_uploaded_file($tmp_name))
           {
              $file = fopen($tmp_name,'rb');
              $data = fread($file,filesize($tmp_name));
              fclose($file);
              $data = chunk_split(base64_encode($data));
           }
           $message .= "--{$mime_boundary}\n" .
              "Content-Type: {$type};\n" .
              " name=\"{$name}\"\n" .
              "Content-Disposition: attachment;\n" .
              " filename=\"{$fileatt_name}\"\n" .
              "Content-Transfer-Encoding: base64\n\n" .
           $data . "\n\n";
        }
     }
     $message.="--{$mime_boundary}--\n";
if (mail($to, $subject, $message, $headers))
 echo "Mail sent successfully.";
else
echo "Error in mail";
?>

现在我想添加一个多选选项框,如下所示:

Now I'd like to add a multiple select option box, like this:

        <select data-placeholder="Select Multiple Items" class="chosen-select" multiple>
            <option>Item 1</option>
            <option>Item 2</option>
            <option>Item 3</option>
            <option>Item 4</option>
        </select>

显然不会上传选定的选项,所以我试过了:

That clearly doesn't upload the selected options, so I tried this:

<option name="option" type="text" id="option">Item 1</option>

加入:

adding this:

$option= $_POST['option'];

但它不起作用。
任何人都可以帮助我,请在PHP代码中添加多选。
Thanks!

but it doesn't work. Can anyone help me out here, please, adding the multiple select to the php code. Thanks!

推荐答案

如果你想让PHP读取它,你需要为select元素添加一个name属性。

you need to add a name attribute to the select element if you want php to read it. Also ensure that it's enclosed inside a form.

例如。

eg.

  <select name="option[]" data-placeholder="Select Multiple Items" class="chosen-select" multiple>
            <option>Item 1</option>
            <option>Item 2</option>
            <option>Item 3</option>
            <option>Item 4</option>
        </select>

通过在名称属性中添加括号,请求var变成一个数组,允许您传递多个值。

by adding in brackets to the name attribute, the request var becomes an array allowing you to pass multiple values.

这篇关于多个选择选项添加到PHP表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆