имеется html страница вида:
Свернутый текст
<h2>Анкета</h2>
<form action="s" method="post">
<table cellspacing="10">
<tr>
<td>Название компании или ИП<sup style="color:red">*</sup></td>
<td><input style="width:400px" type="text" name="name" onblur="checkForm("title");" value="" maxlength="255"/></td>
</tr>
<tr>
<td>В каком регионе Вы находитесь?<sup style="color:red">*</sup></td><td><input style="width:400px" type="text" name="placement" value="" /></td>
</tr>
<tr>
<td>Контактный телефон<sup style="color:red">*</sup></td><td><input style="width:400px" type="text" name="phone" value="" /></td>
</tr>
<tr>
<td>Контактный email<sup style="color:red">*</sup></td><td><input style="width:400px" type="text" name="email" value="" /></td>
</tr>
<tr>
<td>Наличие специалистов (Сколько специалистов имеется)</td><td><input style="width:400px" type="text" name="col_spec" value="" /></td>
</tr>
<tr>
<td>Нужен ли кредит на компенсационнй фонд</td><td><label><input type="radio" name="po" value="1" /> да</label><br/><label><input type="radio" name="po" value="0" checked="checked"/> нет</label></td>
</tr>
<tr>
<td>Комментарий</td><td>
<input style="width:400px" type="text" name="comment" value="" /></td>
</tr>
</table>
<table cellspacing="10">
<tr>
<td>
Вид СРО<br />
<input type="checkbox" name="sro_main1" onclick="linkCheckToggle(1);" value="Строительство"/><a href="" onclick="linkToggle( 'typeBlock1' ); return false;">Строительство</a><br />
<div id="typeBlock1">
<input type="checkbox" value="1.Геодезические работы, выполняемые на строительных площадках." name="d[1][]" />1.Геодезические работы, выполняемые на строительных площадках.<br />
<input type="checkbox" value="1.1.Разбивочные работы в процессе строительства." name="d[1][]" />1.1.Разбивочные работы в процессе строительства.<br />
</div>
<input type="checkbox" name="sro_main2" onclick="linkCheckToggle(2);" value="Проектирование" /><a href="" onclick="linkToggle( 'typeBlock2' ); return false;">Проектирование</a><br />
<div id="typeBlock2">
<input type="checkbox" value="1.Работы по подготовке схемы планировочной организации земельного участка" name="d[2][]" />1.Работы по подготовке схемы планировочной организации земельного участка<br />
<input type="checkbox" value="1.1. Работы по подготовке генерального плана земельного участка" name="d[2][]" />1.1. Работы по подготовке генерального плана земельного участка<br />
</div>
<input type="checkbox" name="sro_main3" onclick="linkCheckToggle(3);" value="Изыскания" /><a href="" onclick="linkToggle( 'typeBlock3' ); return false;">Изыскания</a><br />
<div id="typeBlock3">
<input type="checkbox" value="1. Работы в составе инженерно-геодезических изысканий" name="d[3][]" />1. Работы в составе инженерно-геодезических изысканий<br />
<input type="checkbox" value="1.1 Создание опорных геодезических сетей." name="d[3][]" />1.1 Создание опорных геодезических сетей.<br />
</div>
<input type="checkbox" name="sro_main4" value="Энергоаудит" />Энергоаудит
</td>
</tr>
<tr>
<td><input type="submit" class="but-send" name="send" value="Отправить" /></td>
</tr>
</table>
</form>
данные отправляются с помощью s.php
<?php
$message ='Заказ <br />';
$message .='<table name="result" cellpadding=10 cellcpacing=10 border=1>';
$message .='<tr><td>Название компании или ИП</td><td>'.$_POST['name'].'</td></tr>';
$message .='<tr><td>В каком регионе Вы находитесь?</td><td>'.$_POST['placement'].'</td></tr>';
$message .='<tr><td>Контактный телефон</td><td>'.$_POST['phone'].'</td></tr>';
$message .='<tr><td>Контактный email</td><td>'.$_POST['email'].'</td></tr>';
$message .='<tr><td>Наличие специалистов </td><td>'.$_POST['col_spec'].'</td></tr>';
$message .='<tr><td>Нужен ли кредит на компенсационный фонд</td><td>'.$_POST['po'].'</td></tr>';
$message .='<tr><td>Комментарий</td><td>'.$_POST['comment'].'</td></tr>';
$message .='<tr><td>Вид СРО</td><td>'.implode($_POST['d'][1],'<br />').'</td></tr>';
$message .='</table>';
?>
<?php
$to = 'somemail@somehoster.com';
$subject = 'Заявка с сайта';
$headers = 'Content-type: text/html; charset=windows-1251. "rn" .From: robot@site.com' . "rn" .
'Reply-To: robot@site.com' . "rn" .
'X-Mailer: PHP/' . phpversion();
$headers.= "Content-type: text/html; charset=windows-1251 ";
mail($to, $subject, $message, $headers);
?>
Интересует вот какой момент, чтобы получить данные из первого списка, я использую:
$message .='<tr><td>Вид СРО</td><td>'.implode($_POST['d'][1],'<br />').'</td></tr>';
из второго, логично предположить, нужно поменять d1 на d2, но проблема в том, что пользователь не обязательно может выбрать что-либо из первого списка, (в некотором роде - свобода выбора), в таком случае, скрипт выдаст ошибку о неправильном значении implode.
Как можно решить проблему с пустыми значениями? (if isset пробовал, но видимо где-то напортачил, и все равно не срабатывало)
Спустя 33 минуты, 52 секунды (19.04.2012 - 09:29) inc1uder написал(а):
я так понимаю никто не в состоянии ответить...
Спустя 4 минуты, 50 секунд (19.04.2012 - 09:34) m4a1fox написал(а):
Читаем про empty()
Спустя 1 час, 39 минут, 47 секунд (19.04.2012 - 11:13) inc1uder написал(а):
PHP для начинающих
Здесь разбираются скрипты новичков
охренеть как разобрали....
Здесь разбираются скрипты новичков
охренеть как разобрали....
Спустя 31 минута, 38 секунд (19.04.2012 - 11:45) TranceIT написал(а):
inc1uder
Что тут разбирать?
if (empty($var))
echo 'Переменная пуста';
Что тут разбирать?
Спустя 31 минута, 59 секунд (19.04.2012 - 12:17) m4a1fox написал(а):
inc1uder
Цитата |
PHP для начинающих Здесь разбираются скрипты новичков охренеть как разобрали.... |
О да. Все так и ломанулись разбирать. Если тебе лень заглянуть в мануал, и почитать книжки. Узнать что сущ. еще что-то кроме isset то тебе никто не доктор. Лень тут не поощряется. А ты - лентяй.
Спустя 22 секунды (19.04.2012 - 12:17) inc1uder написал(а):
for($i=1;$i<=4;$i++){
if(empty($_POST['d'][$i])){
$_POST['d'][$i]="Не требуется";}
};
$message .='<tr><td>Строительство</td><td>'.implode($_POST['d'][1],'<br />').'</td></tr>';
$message .='<tr><td>Проектирование</td><td>'.implode($_POST['d'][2],'<br />').'</td></tr>';
$message .='<tr><td>Изыскание</td><td>'.implode($_POST['d'][3],'<br />').'</td></tr>';
$message .='<tr><td>Энергоаудит</td><td>'.implode($_POST['d'][4],'<br />').'</td></tr>';
$message .='</table>';
?>
так?
Спустя 1 минута, 58 секунд (19.04.2012 - 12:19) inc1uder написал(а):
Цитата (m4a1fox @ 19.04.2012 - 10:17) |
О да. Все так и ломанулись разбирать. Если тебе лень заглянуть в мануал, и почитать книжки. Узнать что сущ. еще что-то кроме isset то тебе никто не доктор. Лень тут не поощряется. А ты - лентяй. |
Собственно, я так и сделал, и если у меня не получилось понять, то почему бы не спросить у опытных людей?
Спустя 47 секунд (19.04.2012 - 12:20) m4a1fox написал(а):
inc1uder
Пойдем от обратного. Что такое implode()?
Пойдем от обратного. Что такое implode()?
Спустя 1 минута, 14 секунд (19.04.2012 - 12:21) m4a1fox написал(а):
inc1uder
Цитата |
Собственно, я так и сделал, и если у меня не получилось понять, то почему бы не спросить у опытных людей? |
Ну почему же... спросить то можно. Только судя из этого -
Цитата |
я так понимаю никто не в состоянии ответить... |
И вот этого
Цитата |
PHP для начинающих Здесь разбираются скрипты новичков охренеть как разобрали.... |
Я делаю выводы.
Спустя 1 минута, 2 секунды (19.04.2012 - 12:22) inc1uder написал(а):
склейка данных из массива в строку, грубо говоря
Спустя 1 минута, 18 секунд (19.04.2012 - 12:24) inc1uder написал(а):
я огорчился, т.к. надеялся на ответ как, а не отсылке к функции empty...
Спустя 4 минуты, 55 секунд (19.04.2012 - 12:29) m4a1fox написал(а):
inc1uder
Цитата |
я огорчился, т.к. надеялся на ответ как, а не отсылке к функции empty... |
Ну уж прости... что поделать. Просто не попробовав разобраться самому, ты не научишься... вот в чем весь прикол!
Спустя 2 минуты, 23 секунды (19.04.2012 - 12:31) inc1uder написал(а):
хорошо. я понял. спасибо за empty..
Спустя 8 минут, 26 секунд (19.04.2012 - 12:39) m4a1fox написал(а):
Да не за что...
Почитай мануалы. Книги. Например Котерова, Кузнецова. Посмотри видео уроки...

Спустя 12 минут, 45 секунд (19.04.2012 - 12:52) inc1uder написал(а):
тему можно закрывать...
$lol=array('Не', 'требуется');
for($i=1;$i<=4;$i++){
if(empty($_POST['d'][$i])){
$_POST['d'][$i]=($lol);};};
Спустя 45 минут, 12 секунд (19.04.2012 - 13:37) killer8080 написал(а):
$message .=
'<tr><td>Строительство</td><td>'.
(!empty($_POST['d'][1]) && is_array($_POST['d'][1]) ? implode('<br />', $_POST['d'][1]) : 'Не требуется').
'</td></tr>'.
'<tr><td>Проектирование</td><td>'.
(!empty($_POST['d'][2]) && is_array($_POST['d'][2]) ? implode('<br />', $_POST['d'][2]) : 'Не требуется').
'</td></tr>'.
'<tr><td>Изыскание</td><td>'.
(!empty($_POST['d'][3]) && is_array($_POST['d'][3]) ? implode('<br />', $_POST['d'][3]) : 'Не требуется').
'</td></tr>'.
'<tr><td>Энергоаудит</td><td>'.
(!empty($_POST['d'][4]) && is_array($_POST['d'][4]) ? implode('<br />', $_POST['d'][4]) : 'Не требуется').
'</td></tr>'.
'</table>';
Спустя 24 минуты, 19 секунд (19.04.2012 - 14:02) inc1uder написал(а):
killer8080, спасибо) Ваш вариант выглядит более убедительно, нежели мой