DeTalk.ru - форум о дизайне, искусстве, фотографии, графике, веб-технологиях. Форум дизайнеров, художников, фотографов, веб-разработчиков.
Быстрый поиск:

Здравствуйте, гость ( Вход | Регистрация )

> Прафила форума

Используйте поиск прежде чем задать вопрос, или поищите здесь: PHP FAQ возможно вы найдете интересующие Вас ответы.

 
Reply to this topicStart new topic
Помогите пожалуйста с кодом., Очень прошу помочь со сломанным кодом. Или объяснить, как работают вып  Помогите пожалуйста с кодом., Очень прошу помочь со сломанным кодом. Или объяснить, как работают вып
-cRow-
post Feb 22 2011, 06:05 AM
Сообщение #1


Новенький
*

Группа: Пользователь
Сообщений: 2
Регистрация: 22-February 11
Пользователь №: 8 043
Фотокарточка



Репутация:   0  


Я не профессиональный web-программист, в кодах я разбираюсь очень плохо, но на работе попросили чуть исправить одну страничку.

Суть проблемы такова.
Наш сайт создан на системе Битрикс. На странице http://www.auto-city.ru/obyav/podat/ нужно было удалить одно дополнительное поле ввода текста (номера телефона). Я удалил строку в таблице с полем ввода текста через визуальный редактор и не подумал сохранить первичный код.
В результате чего, страница покорежилась, и получился вот такой код в файле index.php:

Цитата

<?$APPLICATION->IncludeFile('/inc/mail.php')?> <?$err=-1;?> <?if($_REQUEST['act']=="add" && $_REQUEST['text'] && $_REQUEST['phone'] && $_REQUEST['captcha'] && !isset($_REQUEST['from'])):?> <?$err=0;?> <?if($_SESSION['pass']!=$_REQUEST['captcha']):?>
<div class="red"><b>Неверно введен код подтверждения!</b></div>
<?$err=1;?> <?else:?> <?
$el = new CIBlockElement;

$PROP = array();
$PROP['phone'] = $_REQUEST['phone'];

$arLoadProductArray = Array(
"IBLOCK_SECTION" => $_REQUEST['podr_'.$_REQUEST['rubrika']],
"IBLOCK_ID" => 47,
"PROPERTY_VALUES"=> $PROP,
"NAME" => $_REQUEST['text'],
"ACTIVE" => "N",
);

if($new_id = $el->Add($arLoadProductArray))
{
$sect2 = GetIBlockSection($_REQUEST['podr_'.$_REQUEST['rubrika']]);
$sect1 = GetIBlockSection($_REQUEST['rubrika']);
echo "Ваше объявление успешно принято и будет рассмотрено модератором";
$domen = "http://www.auto-city.ru/";
$mail_body = 'Добавлено новое объявление "'.$_REQUEST['text'].'" в рубрике "'.$sect1['NAME'].'"->"'.$sect2['NAME'].'" и ожидает модерации: <a href="'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47">'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47</a>';
email('in@elonika.ru', 'robot@autocity.ru', 'Робот АвтоCity', 'Новое объявление на сайте', $mail_body);
}
else
echo "Возникла ошибка при добавлении, обратитесь к слежбе поддержки";
?> <?endif?> <?elseif($_REQUEST['act']=="add"):?> <?if(!$_REQUEST['from']):?>
<div class="red"><b>Заполните все поля!</b></div>
<?else:?> <b>Пожалуйста, укажите подрубрику и введите код подтверждения</b> <?endif?> <?$err=1;?> <?endif?> <?if($err || $err==-1):?>
<script language="JavaScript">
lastKey = 0;
function ch_r(obj)
{
document.getElementById('r_'+obj.value).style.display = 'block';
document.getElementById('r_'+lastrid).style.display = 'none';
lastrid = obj.value;
}

function checkForm(obj)
{
var str = obj.phone.value;
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
if(obj.phone.value!=str){
alert('В поле "Номер телефона" необходимо вводить только цифры!');
return false;

}

if(!obj.text.value || !obj.captcha.value || !obj.phone.value)
{
alert('Заполните все поля!');
return false;
}
}
/*
function checkChar2(){
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
}
function checkChar()
{
key = event.keyCode;
if(key<48 || key>57)

// || key==109 || key==46 || key==16 || key==8 || key==32 || key==37 || key==39 || key==36 || key==35 || (key==57 || key==48 || key==107 || key==36 || key==35 || key==37 || key==39 || key==51 || key==56))
{
alert(key);
lastKey = key;
return false;
}
lastKey = key;
return true;
}*/
</script>
<form name="iblock_add" method="post" onsubmit="return checkForm(this)">
<table class="tabs" style="width: 100%; border-collapse: collapse;" id="give_obyav">
<tbody>
<tr> <td> Текст объявления: </td> <td style="width: 250px;"> <textarea maxlength="200" size="20" rows="5" cols="25" name="text" style="width: 100%;">&lt;img src=&quot;/bitrix/images/fileman/htmledit2/php.gif&quot; __bxsrc=&quot;/bitrix/images/fileman/htmledit2/php.gif&quot; border=&quot;0&quot; __bxtagname=&quot;php&quot; __bxcontainer=&quot;{'code': '&lt;?=$_REQUEST[\'text\']?&gt;'}&quot; /&gt;</textarea> </td> </tr>



<tr> <td> Рубрика: </td> <td> <?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <select name="rubrika" onchange="ch_r(this);" style="width: 100%;"> </select> </td> </tr>

<tr> <td> Подрубрика: </td> <td> <?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <?$i=0;?> <?while($s_l1 = $l1->GetNext()):?> <?if($i==0):?>
<script language="JavaScript">
var lastrid = <img src="/bitrix/images/fileman/htmledit2/php.gif" border="0" __bxtagname="php" __bxcontainer="{'code': '&lt;?=(!$_REQUEST[\'rubrika\'])?$s_l1[\'ID\']:$_REQUEST[\'rubrika\']?&gt;'}" />;
</script>
<?endif?> <?=$s_l1['ID']?> <?$i++;?> <?endwhile?> </td> </tr>

<tr> <td> Код подтверждения: </td> <td> <img src="/captcha/captcha_image.php" /> </td> </tr>

<tr> <td> Введите код: </td> <td> <input type="text" style="width: 100%;" name="captcha" /> </td> </tr>

<tr> <td colspan="2"> <input type="hidden" name="act" value="add" /> <input type="submit" name="iblock_submit" value="Подать" class="btn" style="width: 50%;" /> <input type="reset" value="Отмена" class="btn" style="width: 49%;" /> </td> </tr>
</tbody>
</table>
</form> <?endif?>



При выполнениии этого кода получалось, что один из ниспадающих списков пропал, а второй стал пустым. И в полях таблицы появились четырехзначные числа (как я понял, ID рубрик) и в поле ввода основного текста стал появляться мусор из кода.

Повозившись с кодом, я добился чистого поля ввода и нормального расположения ниспадающих списков. Но вот только они все равно остались пустыми.

Вот так выглядит часть кода с таблицей, что была исправлена мной:

Цитата

<form onsubmit="return checkForm(this)" method="post" name="iblock_add">
<table id="give_obyav" style="width: 100%; border-collapse: collapse;" class="tabs">
<tbody>
<tr> <td> Текст объявления: </td> <td style="width: 250px;"> <textarea style="width: 100%;" name="text" cols="25" rows="5" size="20" maxlength="200"></textarea></td> </tr>

<tr><td valign="top">
<br />
</td><td valign="top">
<br />
</td></tr>

<tr> <td> Рубрика: </td> <td> <?$l1 = GetIBlockSectionList(47, 0, Array("sort"=>"asc"))?> <select style="width: 100%;" onchange="ch_r(this);" name="rubrika"> </select> </td> </tr>

<tr> <td> Подрубрика: </td> <td> <?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <select style="width: 100%;" onchange="ch_r(this);" name="podr_"> </select> </td> </tr>

<tr> <td> Код подтверждения: </td> <td> <img src="/captcha/captcha_image.php" /> </td> </tr>

<tr> <td> Введите код: </td> <td> <input type="text" name="captcha" style="width: 100%;" /> </td> </tr>

<tr> <td colspan="2"> <input type="hidden" value="add" name="act" /> <input type="submit" style="width: 50%;" class="btn" value="Подать" name="iblock_submit" /> <input type="reset" style="width: 49%;" class="btn" value="Отмена" /> </td> </tr>
</tbody>
</table>


Помогите пожалуйста исправить код, чтобы он работал без поля ввода номера телефона, желательно на весь файл index.php
User is offline
ПрофильPM
Go to the top of the page
+Quote Post
-cRow-
post Feb 22 2011, 11:00 PM
Сообщение #2


Новенький
*

Группа: Пользователь
Сообщений: 2
Регистрация: 22-February 11
Пользователь №: 8 043
Фотокарточка



Репутация:   0  


Что, никто не сможет помочь???? Блин(((( Я так на вас надеялся(
User is offline
ПрофильPM
Go to the top of the page
+Quote Post
« Предыдущая тема · PHP, Perl, ASP и базы данных · Следующая тема »
 

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





Adobe PhotoshopCorel DrawFlash3dблог по продвижению

Политика конфидециальности
© DeTalk.ru 2004-2012
Все права защищены.

SiteProjects - продвижение сайтов



При использовании материалов с сайта, ссылка на DeTalk.ru обязательна!


Текстовая версия