формы - обработка переменных textarea и checkbox - PullRequest
1 голос
/ 16 июля 2010

Хорошо, поэтому я получил свою форму для отправки по электронной почте большинства переменных в php. Однако мои переменные textarea отображаются пустыми, а мои входные данные textarea печатаются как «Массив»

Вот фрагмент из моей формы:

<label for="ProgramAudience">Intended Audience:</label>
                <span><input type="checkbox" name="ProgramAudience[]" value="AcademicAffairsFaculty" />Academic Affairs/Faculty</span>
                <span><input type="checkbox" name="ProgramAudience[]" value="StudentAffairsDevelopment" />Student Affairs/Development</span>
                <span><input type="checkbox" name="ProgramAudience[]" value="CommunityCollege" />Community College/2-Year Institutions</span>
                <span><input type="checkbox" name="ProgramAudience[]" value="GraduateStudents" />Graduate Students</span>
                <span><input type="checkbox" name="ProgramAudience[]" value="FourYearPublic" />Four-Year Public Institutions</span>
                <span><input type="checkbox" name="ProgramAudience[]" value="FourYearPrivate" />Four-Year Private Institutions</span>



<label for="ExpectedOutcome">Expected Learning Outcomes:</label>
                <label class="small">List 1-2 expected learning outcomes below. (As a result of attending this session, participants will...)</font></label>
                    <font size="1" face="arial, helvetica, sans-serif"> ( You may enter up to 400 characters. )<br>
                <textarea name="message4" id="ExpectedOutcome" class="required" wrap="physical" rows="10" cols="35" onKeyDown="textCounter(this.form.message4,this.form.remLen,400);" onKeyUp="textCounter(this.form.message4,this.form.remLen,400);"></textarea>

Вот часть файла обработки:

$ProgramAudience = $_POST['ProgramAudience']; 
$ExpectedOutcome = $_POST['ExpectedOutcome']; 

...

$Body = "";
$Body .= "ProgramAudience: ";
$Body .= $ProgramAudience;
$Body .= "\n";
$Body .= "ExpectedOutcome ";
$Body .= $ExpectedOutcome;

Вот как выглядит результат по электронной почте:

От:

To: me@me.net

Дата: четверг, 15 июля 2010 г. 17:10:17 -0400

Тема: подача заявки

Имя: мили

Фамилия: я

Название: тест

Учреждение: тест

EmailFrom: me@me.net

Телефон: 8157531503

Адрес: HSC 023A

Город: ДеКальб

Состояние: IL

Почтовый индекс: 60115

CoPresenter: Адам

ProgramTitle:

Тип программы: Массив

ProgramDescription:

ProgramOutline:

ProgramTopic: Array

ProgramAudience: Array

ExpectedOutcome

Опыт:

AVEquipment:

Ответы [ 2 ]

1 голос
/ 16 июля 2010

Для массивов флажков сценарию обработки требовалось следующее:

$ProgramTitle = $_POST['ProgramTitle']; 
foreach($_POST['ProgramType']  as  $value)  {
$check_msg .= "Checked: $value\n";
} 

и это:

$Body .= "ProgramTitle: ";
$Body .= $ProgramTitle;
$Body .= "\n";
$Body .= "ProgramType: ";
$Body .= $check_msg;
1 голос
/ 16 июля 2010

Проверьте свой атрибут имени в текстовой области - это тот, который будет использовать PHP.

Флажки будут доступны только в том случае, если они отмечены, поэтому убедитесь, что вы что-то проверили.С именем в квадратных скобках, например «ProgramAudience []», переменная $ _POST ['ProgramAudience'] будет либо нулевой, либо массивом.Возможно, вы захотите проверить, является ли он массивом, и если это так, переберите содержимое, чтобы сгенерировать вашу электронную почту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...