$msg . aka из checkbox форме
не могли бы вы ответить на 1 вопрос))?
я хочу в этот скрипт (см. ниже, отправка сообщений) добавить checkbox форму и radio форму. что-то вроде етого:
->> см. здесь>> http://musicxchange.narod.ru/CHECHBOX_RADIO.png
как сделать, чтобы при заполнении этих форм, результаты выбора посетителя отправлялись
также в сообщении(в $msg .)? т.е., к примеру у нас отправляется телефон через форму..
а вместе с ним, если чел-к выбрал в checkbox орангутанги, нам на мыло сбрасывается:
В ЗООПАРКЕ БОЛЬШЕ: ГИМАДРИЛОВ (как было выбрано чел-ком)
насколько я понимаю, в input type нужно будет ещё прописать парам-ры name, value...
зы: я не кодер. в пхп крайне плохо соображаю, т.е. ламо)). если Вас не затруднит, пожалуйста, скажите, как дописать скрипт.
заранее благодарен, Андрей
sendmess.php code:
<head>
<LINK rel=stylesheet href="stylesheet.css" type=text/css>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Заказать!</title>
</head>
<body bgcolor="#01094A" topmargin="20" leftmargin="20">
<table border="0" borderColor=#ff9933 cellpadding="0" cellspacing="0" width="80%" align=center>
<tr><td align=left valign=middle width=50% height=20>
<p align="justify">
<?
$stringmess = "(*) - заполнение поля обязательно";
$form_blok = "
<form method=\"post\" action=\"$PHP_SELF\">
Ваше имя:
<input name=\"sender_name\" size=\"30\"></p>
* Ваш e-mail:
<input name=\"sender_mail\" size=\"30\"></p>
* Ваш телефон:
<input name=\"sender_tel\" size=\"30\"></p>
Удобное время для связи:
<input name=\"sender_time\" size=\"30\"></p>
Ваше сообщение:
<textarea name=\"message\" cols=23 rows=10 wrap=virtual></textarea></p>
<p align=\"left\">$stringmess</p>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"300\" align=left>
<tr>
<td align=center valign=top>
<input class=but4 type=\"reset\" name=\"reset\" value=\"Очистить\">
<input type=\"hidden\" name=\"op\" value=\"ds\">
<input class=but4 type=\"submit\" name=\"submit\" value=\"Отправить\">
</td>
</tr>
</table>
</form></td></tr></table>
";
if ($op != "ds") {
echo "$form_blok";
}
else if ($op == "ds"){
if ($sender_tel == "") {
if ($sender_mail == "") {
$mail_err ="<font class=\"text\">Вы не заполнили ни поле e-mail, ни телефон!</font>
";
$send = "no";
}
}
if ($send != "no"){
$msg= "ЗАКАЗ С САЙТА fff.RU\n";
$msg .= "Имя отправителя:\n\t\t$sender_name\n";
$msg .= "E-mail отправителя:\n\t\t$sender_mail\n";
$msg .= "Телефон отправителя:\n\t\t$sender_tel\n";
$msg .= "Удобное время для связи с отправителем:\n\t\t$sender_time\n";
$msg .= "Сообщение: \n$message\n\n\n";
$to = "fff@fff.ru";
$subject = "ЗАКАЗ С САЙТА fff.RU";
$mailheaders .="Reply-To: $mail\n\n";
mail ($to, $subject, $msg, $mailheaders);
$stringmess_ok = "Уважаемый $sender_name, Ваше сообщение было успешно отправлено!
";
echo "<center>
$stringmess_ok</p>
";
echo "<a href=\"sendmess.php\" class=\"text\">Hазад</a>
</center>";
}
else if ($send == "no") {
echo "<center>";
echo "$mail_err";
echo "<a href=\"sendmess.php\" class=\"text\">Вернуться и правильно заполнить форму</a>
";
echo "</center>";
}
}
?>
</body>
Удобное время для связи:
<input name=\"sender_time\" size=\"30\"></p>
//дописываешь то, что тебе надо. Например, чекбоксы------------------------
Где Вы живете?</p>
<input type=\"checkbox\" name=\"sender_home\" value=\"block_house\">В блочном доме
<input type=\"checkbox\" name=\"sender_home\" value=\"saray\">В сарае
<input type=\"checkbox\" name=\"sender_home\" value=\"russia\">Мой дом - Россия
</p>
//То же самое с радио-----------------
Ваш пол:</p>
<input type=\"radio\" name=\"sender_sex\" value=\"male\">Мужчина
<input type=\"radio\" name=\"sender_sex\" value=\"female\">Женщина
</p>
...
//Ну и в скрипте самом пишешь---------------
$msg= "ЗАКАЗ С САЙТА fff.RU\n";
$msg .= "Имя отправителя:\n\t\t$sender_name\n";
$msg .= "E-mail отправителя:\n\t\t$sender_mail\n";
$msg .= "Телефон отправителя:\n\t\t$sender_tel\n";
$msg .= "Удобное время для связи с отправителем:\n\t\t$sender_time\n";
//начало того, что ты допишешь---------------
//обработка чекбоксов------------------------
if(isset($sender_home)) {
if($sender_home=='block_house') {
$msg .= "Отправитель живет в:\n\t\t блочном доме \n";
}
elseif($sender_home=='saray') {
$msg .= "Отправитель живет в:\n\t\t сарае \n";
}
elseif($sender_home=='landless') {
$msg .= "Отправитель живет в:\n\t\t бездомный \n";
}
}
else {
$msg .= "Отправитель не указал, где живет\n";
}
//обработка радио------------------------
if(isset($sender_sex)) {
if($sender_sex=='male') {
$msg .= "Отправитель:\n\t\t мужчина\n";
}
elseif($sender_sex=='female') {
$msg .= "Отправитель:\n\t\t женщина\n";
}
}
//конец добавления-----------------------
В общем, возможна опечатка, так что не придирайтесь :)
elseif($sender_home=='landless') {
$msg .= "Отправитель живет в:\n\t\t бездомный \n";
}
исправь на
elseif($sender_home=='russia') {
$msg .= "Отправитель живет в:\n\t\t России \n";
}
2kasap: от всей души благодарю за неоценимую помощь))!
Цитата:
Originally posted by DaRON
:)
2kasap: от всей души благодарю за неоценимую помощь))!
:)
2kasap: от всей души благодарю за неоценимую помощь))!
kasap молодца, только для чекбоксов он не правильно описал))) допусти сутацию, что человек в форме выберет все чекбоксы, или хотя бы 2 любых из них, что вернется в переменной $sender_home? или вы на js/vbs будете описывать что низя нажимать на несколько чекбоксов?)) тогда уж лучше воспользоваться радиопимпой, а настоящие перцы когда много чекбоксов, и есть вероятность получить в качестве ответа несколько их в состоянии checked описывают их примерно так))
Код:
<?if($proceed=="ok")
{
$c=count($sender_home);
$msg="";
if($c>=1)
{
foreach($sender_home as $val)
{
$msg .= "Отправитель живет в:\n\t\t ".$val."
\n";
}
}else{
$msg .= "Отправитель живет в:\n\t\t бездомный
\n";
}
echo $msg;
}else{
echo "<form method=post action=".$PHP_SELF.">"
."<input type=hidden name=proceed value='ok'>"
."<input type=checkbox name=\"sender_home[]\" value=\"В блочном доме\">В блочном
доме
\n"
."<input type=checkbox name=\"sender_home[]\" value=\"В сарае\">В сарае
"
."<input type=checkbox name=\"sender_home[]\" value=\"Мой дом - Россия
\">Мой дом -
Россия
"
."<input type=submit value='ok'>"
."</form>";
}?>
{
$c=count($sender_home);
$msg="";
if($c>=1)
{
foreach($sender_home as $val)
{
$msg .= "Отправитель живет в:\n\t\t ".$val."
\n";
}
}else{
$msg .= "Отправитель живет в:\n\t\t бездомный
\n";
}
echo $msg;
}else{
echo "<form method=post action=".$PHP_SELF.">"
."<input type=hidden name=proceed value='ok'>"
."<input type=checkbox name=\"sender_home[]\" value=\"В блочном доме\">В блочном
доме
\n"
."<input type=checkbox name=\"sender_home[]\" value=\"В сарае\">В сарае
"
."<input type=checkbox name=\"sender_home[]\" value=\"Мой дом - Россия
\">Мой дом -
Россия
"
."<input type=submit value='ok'>"
."</form>";
}?>
а потом, на стороне сервера мы просто разбираем массив $sender_home[] (сервер получит массив именно выбранных (checked) чекбоксов)
пример
1) да
2) нет
, и нужно, чтобы человек смог выбрать только что-то одно?
или да, или нет...
<form action='./'>
Пингвины летают?
<input type=radio name=q> Да.
<input type=radio name=q> Нет.
<input type=submit value=k>
</form>
Изюминка - задать для тех радио-кнопок которые взаимозаменяемы одно и то же значение в атрибут name.
<form action='./'>
Пингвины летают?
<input type=radio name=q1> Да.
<input type=radio name=q1> Нет.
А сами видели?
<input type=radio name=q2> Естественно.
<input type=radio name=q2> Нет. Не приходилось
<input type=submit value=k>
</form>
Shiizoo дело говорит, я так, апнуть)))
Цитата:
Originally posted by zja
kasap молодца, только для чекбоксов он не правильно описал))) допусти сутацию, что человек в форме выберет все чекбоксы, или хотя бы 2 любых из них, что вернется в переменной $sender_home? или вы на js/vbs будете описывать что низя нажимать на несколько чекбоксов?)) тогда уж лучше воспользоваться радиопимпой, а настоящие перцы когда много чекбоксов, и есть вероятность получить в качестве ответа несколько их в состоянии checked описывают их примерно так))
kasap молодца, только для чекбоксов он не правильно описал))) допусти сутацию, что человек в форме выберет все чекбоксы, или хотя бы 2 любых из них, что вернется в переменной $sender_home? или вы на js/vbs будете описывать что низя нажимать на несколько чекбоксов?)) тогда уж лучше воспользоваться радиопимпой, а настоящие перцы когда много чекбоксов, и есть вероятность получить в качестве ответа несколько их в состоянии checked описывают их примерно так))
Да, zja, ты прав. Недоглядел. Да и честно говоря, лень было много писать. Но на самом деле лениться не надо, а то вдруг кому-то мой неполный ответ выйдет боком. В следующий раз постараюсь не лениться. :angel:
2anx, Shiizoo!