php 带有多个项目复选框的表单填充 excel 电子表格
php form with multiple item checkbox populate excel spreadsheet
我正在 php 中构建一个表单,它将向所有者发送一封包含请求的电子邮件,并 link 到一个 table 将显示所有请求的页面。我在多项目清单的输出中不断得到 "array"...这就是我所拥有的
<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 />
视频拍摄
其他
<?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;
改变这个:
$variables['$multimedia_string'] = $_POST['$multimedia_string'];
...至:
$variables['multimedia_string'] = implode(',', $_POST['multimedia']);
解释:
PHP 将 $_POST['multimedia']
解释为一个数组,因为名称后有方括号 []
,如 multimedia[]
,因此您可以使用逗号将其分解作为分隔符并返回一个字符串。
还有一些其他问题,所以试试这个:
<?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;
?>
问题:
前三行似乎没有做任何事情。
$multimedia = array(); // never populated
echo implode(',', $_POST['multimedia']);
$multimedia_string = implode(',', $multimedia); // still not populated, so implodes to an empty string.
这里有几件事:
$variables['$multimedia_string'] = $_POST['$multimedia_string'];
PHP 变量不会插入到单引号字符串中。换句话说,要将 PHP 变量从变量名 $name
转换为字符串中的值,您需要使用双引号或 HEREDOC:
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
翻译成的任何内容。
我正在 php 中构建一个表单,它将向所有者发送一封包含请求的电子邮件,并 link 到一个 table 将显示所有请求的页面。我在多项目清单的输出中不断得到 "array"...这就是我所拥有的
<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 />
视频拍摄
其他
<?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;
改变这个:
$variables['$multimedia_string'] = $_POST['$multimedia_string'];
...至:
$variables['multimedia_string'] = implode(',', $_POST['multimedia']);
解释:
PHP 将 $_POST['multimedia']
解释为一个数组,因为名称后有方括号 []
,如 multimedia[]
,因此您可以使用逗号将其分解作为分隔符并返回一个字符串。
还有一些其他问题,所以试试这个:
<?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;
?>
问题:
前三行似乎没有做任何事情。
$multimedia = array(); // never populated
echo implode(',', $_POST['multimedia']);
$multimedia_string = implode(',', $multimedia); // still not populated, so implodes to an empty string.
这里有几件事:
$variables['$multimedia_string'] = $_POST['$multimedia_string'];
PHP 变量不会插入到单引号字符串中。换句话说,要将 PHP 变量从变量名 $name
转换为字符串中的值,您需要使用双引号或 HEREDOC:
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
翻译成的任何内容。