массивы — PHP-форма с несколькими элементами флажок заполнить таблицу Excel

Я строю форму в php, которая отправит владельцу электронное письмо с запросом и ссылку на страницу, где в таблице будут показаны все запросы. Я продолжаю получать «массив» в выводе с несколькими пунктами контрольного списка … Вот что у меня есть

<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;

0

Решение

Изменить это:

$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 перевести на.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]