2013-04-01 4 views
0

Я новичок в PHP и у меня возникла проблема, когда дело доходит до отправки по электронной почте данных из полей формы html, которые являются массивами. У меня нет проблем с вставкой каждого из значений массива в базу данных MySQL, я просто получаю пробелы при попытке отправить по электронной почте значения массива.Отправка значений из массива

В электронной почте $ school, $ first_name и $ title не возвращаются никакие значения массива. Пожалуйста, помогите, спасибо.

<?php 

for($i = 0; $i < 5; $i++) 
{ 
$date = date("m/d/y", time()); 
$referee = $_POST['referee']; 
$email_address = $_POST['email_address']; 
$phone = $_POST['phone']; 
$gamedate = $_POST['gamedate']; 
$level = $_POST['level']; 
$home = $_POST['home']; 
$away = $_POST['away']; 
$title = $_POST['title'][$i]; 
$person = $_POST['person'][$i]; 
$first_name = $_POST['first_name'][$i]; 
$jersey = $_POST['jersey'][$i]; 
$school = $_POST['school'][$i]; 
$reason = $_POST['reason'][$i]; 
$notes = $_POST['notes'][$i]; 
$checkbox = $_POST['checkbox']; 


$result = mysql_query(" 
    INSERT INTO `soccercard` (date, referee, email_address, phone, gamedate, level, home, away, title, person, first_name, jersey, school, reason, notes, checkbox) 
    VALUES ('$date', '$referee', '$email_address', '$phone', '$gamedate', '$level', '$home', '$away', '$title', '$person', '$first_name', '$jersey', '$school', '$reason', '$notes', '$checkbox'); 
"); 

} 

?> 

<?php 
if ($title = Red) 
$to = "[email protected]"; 
$subject = "Soccer Card Report Form"; 
$message = ("A red card was submitted by '$referee' for the '$home' vs '$away' '$level' game. $school $first_name was issued a $title card for $reason "); 
$from = "[email protected]"; 
$headers = "From:" . $from; 
mail($to,$subject,$message,$headers); 
?> 
+0

изменение если ($ название == 'Red') –

+0

Прежде чем идти дальше, я рекомендовал бы узнать о отступа , Это поможет вам определить ваши проблемы. У вашего оператора 'if' нет скобок, поэтому я думаю, что он либо ничего не делает, либо применит только к строке, начинающейся с' $ to = ... '. Кроме того, узнайте о входной санитации. Оператор INSERT подлежит SQL-инъекции. –

+1

Ваши переменные в цикле «для», поэтому поместите свой почтовый код в цикл. – dikirill

ответ

0

Изменить код в

<?php 

for($i = 0; $i < 5; $i++) 
{ 
$date = date("m/d/y", time()); 
$referee = $_POST['referee']; 
$email_address = $_POST['email_address']; 
$phone = $_POST['phone']; 
$gamedate = $_POST['gamedate']; 
$level = $_POST['level']; 
$home = $_POST['home']; 
$away = $_POST['away']; 
$title = $_POST['title'][$i]; 
$person = $_POST['person'][$i]; 
$first_name = $_POST['first_name'][$i]; 
$jersey = $_POST['jersey'][$i]; 
$school = $_POST['school'][$i]; 
$reason = $_POST['reason'][$i]; 
$notes = $_POST['notes'][$i]; 
$checkbox = $_POST['checkbox']; 


$result = mysql_query(" 
    INSERT INTO `soccercard` (date, referee, email_address, phone, gamedate, level, home, away, title, person, first_name, jersey, school, reason, notes, checkbox) 
    VALUES ('$date', '$referee', '$email_address', '$phone', '$gamedate', '$level', '$home', '$away', '$title', '$person', '$first_name', '$jersey', '$school', '$reason', '$notes', '$checkbox'); 
"); 
if ($title == 'Red'): 
$to = "[email protected]"; 
$subject = "Soccer Card Report Form"; 
$message = ("A red card was submitted by '$referee' for the '$home' vs '$away' '$level' game. $school $first_name was issued a $title card for $reason "); 
$from = "[email protected]"; 
$headers = "From:" . $from; 
mail($to,$subject,$message,$headers); 
endif; 
} //end of for loop 

?> 

состояние название Put в цикл

+0

Пропустил отступ 'if' –