4
« : Апреля 23, 2014, 11:11:33 pm »
1. 6,1.
2. программное обеспечение сервера неизвестно.
3. подскажите, что отвечает за отправку данных из contact.php.
Понадобилось сделать две формы обратной связи с разными checkbox'ами: contact и contact2.
Фрагмент кода contact.tpl.html:
...<li>
<label class='desc' for='check'>Тип аренды: <em>*</em></label>
<input type="checkbox" name="check[]" value="Посуточно">Посуточно.
<input type="checkbox" name="check[]" value="Долгосрочно">Долгосрочно.
</li>...
Фрагмент кода contact.php:
// contact send mail
if (isset($_GET["contact"]) || isset($_GET["send_result"])) //show 'send result' page
{
$f_c = file("./core/aux_pages/contact");
$out_c = implode("", $f_c);
$smarty->assign("contact_info", $out_c);
//calculate a path
$path = Array();
if (CONF_CHPU) $row[0] = "contact/";
else $row[0] = 'index.php?contact';
$row[1] = STRING_CONTACT_INFORMATION;
$path[] = $row;
$smarty->assign("product_category_path",$path);
$smarty->assign("send_result", $_GET["send_result"]);
$smarty->assign("main_content_template", "contact.tpl.html");
}
if (isset($_POST["send_mail"]))
{
//calculate a path
$path = Array();
$row[0] = "contact/";
$row[1] = STRING_CONTACT_INFORMATION;
$path[] = $row;
$smarty->assign("product_category_path",$path);
$Name = $_POST['send_name'];
$From = $_POST['send_email'];
$phone = $_POST['send_phone'];
$Body = $_POST['send_text'];
$check = '';
if (!empty($_POST['check']) && is_array($_POST['check']))
{
$check = implode(" ", $_POST['check']);
}
if (($Name=="") or ($From=="") or ($Body=="") or (!preg_match("/[-0-9a-z_]+@[-0-9a-z_]+\.[a-z]{2,6}/i",$From)) or ($_POST["captcha"]<>$_SESSION["captcha"]))
{$send_result=0;}
else {
$To = CONF_GENERAL_EMAIL;
$Subj = STRING_MAIL_FROM_SITE;
if (DB_CHARSET!='cp1251')
{
$Subj = win2utf($Subj);
}
$mail = "<b>От:</b> ".$Name."<br>\r\n";
$mail .="<b>Адрес:</b> ".$From."<br>\r\n";
$mail .="<b>Телефон:</b> ".$phone."<br>\r\n";
$mail .="<b>Тип:</b> ".$check."<br>\n";
$mail .="<b>Текст сообщения:</b><br>\r\n".$Body."\r\n";
if (DB_CHARSET!='cp1251') $mail = win2utf($mail);
$from['mail']=$From;
$from['name']='';
phpmailer(CONF_GENERAL_EMAIL, $from, $Subj, '',$mail);
$send_result=2;
unset($_POST);
}
//show sent result
unset($_SESSION["captcha"]);
$f = file("./core/aux_pages/contact");
$out = implode("", $f);
$smarty->assign("contact_info", $out);
$smarty->assign("send_result", $send_result);
$smarty->assign("main_content_template", "contact.tpl.html");
#header("Location: contact/&send_result=".$send_result);
}
Фрагмент кода contact2.tpl.html:
<li>
<label class='desc' for='check2'>Вид недвижимости: <em>*</em></label>
<input type="checkbox" name="check2[]" value="Квартира">Квартира
<input type="checkbox" name="check2[]" value="Дом">Дом
<input type="checkbox" name="check2[]" value="Офисное помещение">Офисное помещение
</li>
Фрагмент кода contact2.php:
// contact send mail
if (isset($_GET["contact2"]) || isset($_GET["send_result"])) //show 'send result' page
{
$f_c = file("./core/aux_pages/contact2");
$out_c = implode("", $f_c);
$smarty->assign("contact2_info", $out_c);
//calculate a path
$path = Array();
if (CONF_CHPU) $row[0] = "contact2/";
else $row[0] = 'index.php?contact2';
$row[1] = STRING_CONTACT2_INFORMATION;
$path[] = $row;
$smarty->assign("product_category_path",$path);
$smarty->assign("send_result", $_GET["send_result"]);
$smarty->assign("main_content_template", "contact2.tpl.html");
}
if (isset($_POST["send_mail"]))
{
//calculate a path
$path = Array();
$row[0] = "contact2/";
$row[1] = STRING_CONTACT2_INFORMATION;
$path[] = $row;
$smarty->assign("product_category_path",$path);
$Name = $_POST['send_name'];
$From = $_POST['send_email'];
$phone = $_POST['send_phone'];
$Body = $_POST['send_text'];
$phone = $_POST['send_phone'];
$check = '';
if (!empty($_POST['check']) && is_array($_POST['check']))
{
$check2 = implode(" ", $_POST['check2']);
}
if (($Name=="") or ($From=="") or ($check2=="") or ($Body=="") or (!preg_match("/[-0-9a-z_]+@[-0-9a-z_]+\.[a-z]{2,6}/i",$From)) or ($_POST["captcha"]<>$_SESSION["captcha"]))
{$send_result=0;}
else {
$To = CONF_GENERAL_EMAIL;
$Subj = STRING_MAIL_FROM_SITE;
if (DB_CHARSET!='cp1251')
{
$Subj = win2utf($Subj);
}
$mail = "<b>От:</b> ".$Name."<br>\r\n";
$mail .="<b>Адрес:</b> ".$From."<br>\r\n";
$mail .="<b>Телефон:</b> ".$phone."<br>\r\n";
$mail .="<b>Текст сообщения:</b><br>\r\n".$Body."\r\n";
$mail .="<b>Вид недвижимости:</b> ".$check2."<br>r\n";
if (DB_CHARSET!='cp1251') $mail = win2utf($mail);
$from['mail']=$From;
$from['name']='';
phpmailer(CONF_GENERAL_EMAIL, $from, $Subj, '',$mail);
$send_result=2;
unset($_POST);
}
//show sent result
unset($_SESSION["captcha"]);
$f = file("./core/aux_pages/contact2");
$out = implode("", $f);
$smarty->assign("contact2_info", $out);
$smarty->assign("send_result", $send_result);
$smarty->assign("main_content_template", "contact2.tpl.html");
#header("Location: contact2/&send_result=".$send_result);
}
Отмеченные в форме checkbox'ы отправляет верно, а строчку $mail .="<b>Вид недвижимости:</b> ".$check2."<br>r\n"; не хочет отправлять, отправляет строчку $mail .="<b>Тип:</b> ".$check."<br>\n"; из contact.php