[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна помощь
inc1uder
столкнулся с проблемой

имеется 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()?

Спустя 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 написал(а):
Да не за что... smile.gif Почитай мануалы. Книги. Например Котерова, Кузнецова. Посмотри видео уроки...

Спустя 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, спасибо) Ваш вариант выглядит более убедительно, нежели мой
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.