首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php表单与多项复选框填充excel电子表格

php表单与多项复选框填充excel电子表格
EN

Stack Overflow用户
提问于 2015-04-01 17:57:23
回答 1查看 319关注 0票数 0

我正在用php构建一个表单,它将向所有者发送一封带有请求的电子邮件,并链接到一个表将显示所有请求的页面。我不断在输出中得到“数组”和多个项目清单.这是我有的东西

代码语言:javascript
复制
<form>
<input type="checkbox" name="multimedia[]" value="Assessment"    />Assessment<br/>
<input type="checkbox" name="multimedia[]" value="elearning module" />E-Learning Module<br />
<input type="checkbox" name="multimedia[]" value="Photography" />Photography<br />

视频拍摄

代码语言:javascript
复制
Other
代码语言:javascript
复制
<?php
$multimedia = array();
echo implode(',', $_POST['multimedia']);

$multimedia_string = implode(',', $multimedia);
?>
//variables in each cell
$variables = array();
$variables['fname'] = $_POST['fname'];
$variables['lname'] = $_POST['lname'];
$variables['email'] = $_POST['email'];
$variables['projectTitle'] = $_POST['projectTitle'];
$variables['$multimedia_string'] = $_POST['$multimedia_string'];
$variables['credentialing'] = $_POST['credentialing'];
$variables['description'] = $_POST['description'];
$variables['results_data_page'] = $results_data_page;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-01 18:02:52

改变这一点:

代码语言:javascript
复制
$variables['$multimedia_string'] = $_POST['$multimedia_string'];

...to:

代码语言:javascript
复制
$variables['multimedia_string'] = implode(',', $_POST['multimedia']);

解释:

PHP将$_POST['multimedia']解释为数组,因为名称后面有方括号[],因此可以使用逗号作为分隔符对其进行内爆,并获得返回的字符串。

还有其他一些问题,所以请尝试如下:

代码语言:javascript
复制
<?php

//variables in each cell
$variables = array();
$variables['fname'] = $_POST['fname'];
$variables['lname'] = $_POST['lname'];
$variables['email'] = $_POST['email'];
$variables['projectTitle'] = $_POST['projectTitle'];
$variables['multimedia_string'] = implode(',', $_POST['multimedia']);
$variables['credentialing'] = $_POST['credentialing'];
$variables['description'] = $_POST['description'];
$variables['results_data_page'] = $results_data_page;

?>

问题:

前三行似乎什么也没做。

代码语言:javascript
复制
$multimedia = array(); // never populated
echo implode(',', $_POST['multimedia']);

$multimedia_string = implode(',', $multimedia); // still not populated, so implodes to an empty string.

这里有几件事:

代码语言:javascript
复制
$variables['$multimedia_string'] = $_POST['$multimedia_string'];

PHP变量不会在单引号字符串中内插。换句话说,要将PHP变量从变量名$name转换为字符串中的值,您需要使用双引号或HEREDOC:

代码语言:javascript
复制
echo "I $emotion you very much.";

$html = <<<EOT

<table>
  <tr>
      <td>We $emotion camping.</td>
  </tr>
</table>

EOT;

因此,'$multimedia_string'只是一个包含美元符号和文本"multimedia_string“的字符串。

另一件事是,似乎没有带有该名称的$_POST变量,也没有任何您希望将$multimedia_string转换成的变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29397604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档