• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Изменить Атрибут Id

  • Автор темы Tamchik
  • Дата начала
T

Tamchik

Как изменить атрибут id = "863" например на id = "p863", при обработке выдачи субменю, то есть cделать так что бы id начинался c буквы, если
Подменю сайта выводится при помощи события onmouseover:
<div onmouseover="LeftMenuMouseOver1({$id}); return true;" onmouseout="LeftMenuMouseOut1({$id}); return true;" style="padding-left:0px;border:0px solid black;"><ul><li [class]><a href="[chpu]">$menunamepage</a></li></ul>
  • </div>

    вот функция обработки события LeftMenuMouseOver1:
    function LeftMenuMouseOver1(aaaa)
    {
    if (navigator.appName == "Microsoft Internet Explorer"){
    if ((document.getElementById(aaaa) != '')&&(document.getElementById(aaaa) != null)) {

    if (document.getElementById(aaaa)) {
    obj=document.getElementById(aaaa);
    obj.style.visibility="visible";
    obj.style.zIndex="0";
    }
    }
    }
    else {
    if (document.getElementById(aaaa)) {
    var obj=document.getElementById(aaaa);
    obj.style.visibility = 'visible';
    obj.style.zIndex = '0';
    }
    }
    }

    Список < li > для субменю генерируется при помощи
    PHP:
    if ($list3 != '') $list3 = '<div id="'.$tid2[0].'" class="submenud">'.$list3.'</div>';//атрибут не может начинаться с цифры
    $list2 = str_replace('[list2]', $list3, $list2);
    
    // четвертый уровень END
    }
    }
    }
    if ($list2 != '') $list2 = '<div id = "'.$tid1[0].'" class="submenud">'.$list2.'</div>'; //атрибут не может начинаться с цифры
    $list1 = str_replace('[list1]', $list2, $list1);
    
    }
    }
    if ($list1 != '') $list1 = '<div id="'.$tid[0].'" class="shortprod">'.$list1.'</div>';//атрибут не может начинаться с цифры
    $sRes = str_replace('[list]', $list1, $sRes);
    $list1 = '';
    } else $sRes = str_replace('[list]', '', $sRes);
    то есть получается что id берется из бд.
    Возможноли как нибуть решить эту проблему?
    Спасибо.
 
T

Tamchik

Проблема решена путем применения правильного синтаксиса (апострофы) и добавлении буквы перед генерацией id и в событии наведения мыши.

onmouseover="LeftMenuMouseOver1('p_{$id}'); return true;"

PHP:
if ($list1 != '') $list1 = '<div id="p'.$tid[0].'" class="shortprod">'.$list1.'</div>';//атрибут не может начинаться с цифры
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!