Опубликовано: 1 октября 201213 г Пытаюсь редактировать шаблон и вставить туда php-код, код сам по себе верный, но при сохранении выскакивает ошибка: В шаблоне обнаружена ошибка синтаксиса. Подскажите, пожалуйста, что можно сделать в данной ситуаци..
Опубликовано: 1 октября 201213 г Проверять свой код. Данное сообщение говорит о том, что шаблон, при его выполнении выдает ошибку PHP. Т.е. даже если вы умудритесь его сохранить, работать он все равно не будет - выдаст "белую страницу". Приведите код, могу подсказать, что не так.
Опубликовано: 1 октября 201213 г Автор <?php if ($_data['cat_data']['id'] == 25) { echo '123'; } ?> Изменено 1 октября 201213 г пользователем BeHz
Опубликовано: 1 октября 201213 г <php> php code; </php> echo в шаблонах не используется, так как вывод исходного кода производится позже чем копмиляция шаблона (http://ipbskins.ru/forum/topic8402.html).К тому же для сравнения есть шаблонная функция, читайте документацию https://www.invisionpower.com/support/guides/_/advanced-and-developers/application/using-skin-templates-r154. <if test="$_data['cat_data']['id'] == 25"> 1233 </if>
Опубликовано: 20 октября 201213 г Автор Как можно вывести переменную в таком случае, если очень надо?... Подскажите, как можно вывести след. код. <?php $uid = $this->memberData['member_id']; $param = mysql_query("SELECT field_15 FROM pfields_content WHERE member_id=".$uid.";"); ?> Value: <?=$param?> Использую CustomSideBarBlock. Выходят ошибки..
Опубликовано: 20 октября 201213 г <?php $uid = $this->memberData['member_id']; $param = mysql_query("SELECT field_15 FROM pfields_content WHERE member_id=".$uid.";"); ?> Value: <?=$param?> Если пользователь загружен полностью, то так: <if test="!empty($this->memberData['field_15'])"> Value: {$this->memberData['field_15']} </if>
Опубликовано: 20 октября 201213 г Автор Спасибо. Только при вставке в CustomSidebarBlocks выходят след. ошибки: Parse error: syntax error, unexpected '<' in /home/admin/domains/MyDOMAIN/public_html/hooks/customSidebarBlocksHook_f7c83adf9522be63e765e5d543781fc3.php(56) : eval()'d code on line 1 Warning: Cannot modify header information - headers already sent by (output started at /home/admin/domains/MyDOMAIN/public_html/hooks/customSidebarBlocksHook_f7c83adf9522be63e765e5d543781fc3.php(56) : eval()'d code:1) in /home/admin/domains/MyDOMAIN/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 114 Warning: Cannot modify header information - headers already sent by (output started at /home/admin/domains/MyDOMAIN/public_html/hooks/customSidebarBlocksHook_f7c83adf9522be63e765e5d543781fc3.php(56) : eval()'d code:1) in /home/admin/domains/MyDOMAIN/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 127 Warning: Cannot modify header information - headers already sent by (output started at /home/admin/domains/MyDOMAIN/public_html/hooks/customSidebarBlocksHook_f7c83adf9522be63e765e5d543781fc3.php(56) : eval()'d code:1) in /home/admin/domains/MyDOMAIN/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 136 Warning: Cannot modify header information - headers already sent by (output started at /home/admin/domains/MyDOMAIN/public_html/hooks/customSidebarBlocksHook_f7c83adf9522be63e765e5d543781fc3.php(56) : eval()'d code:1) in /home/admin/domains/MyDOMAIN/public_html/admin/sources/classes/output/formats/html/htmlOutput.php on line 137 Warning: Cannot modify header information - headers already sent by (output started at /home/admin/domains/MyDOMAIN/public_html/hooks/customSidebarBlocksHook_f7c83adf9522be63e765e5d543781fc3.php(56) : eval()'d code:1) in
Опубликовано: 20 октября 201213 г Ничем не могу помочь. Код для шаблона - валиден. Уверены, что это связано именно с ним?
Опубликовано: 20 октября 201213 г http://ipbskins.ru/forum/topic10365.html Хотя нет, вроде как поддержка php все же есть http://community.invisionpower.com/files/file/2447-e32-custom-sidebar-blocks/
Опубликовано: 20 октября 201213 г Автор не могу разобраться, кто поможет за деньги вставить мой код в CustomSidebarBlocks в пм пожалуйста
Опубликовано: 20 октября 201213 г http://php.net/manual/ru/function.eval.php return $this->DB->buildAndFetch( array('select' => 'field_15', 'from' => 'pfields_content', 'where' => 'member_id='.$uid) ); писать в таком виде, без тегов пхп <?php ?>.
Опубликовано: 20 октября 201213 г Автор Блин, там не получается и HTML и PHP совместить как-то хз.... либо php код не интерпретируется, либо html тэги все пропадают ( echo и print использовать нельзя ( но нужно вывести код html тоже
Опубликовано: 20 октября 201213 г echo и print здесь без надобности I. /* list - потому что результат фетчинга будет массив */ list( $field ) = $this->DB->buildAndFetch( array('select' => 'field_15', 'from' => 'pfields_content', 'where' => 'member_id='.$uid) ); return '<h3>html code</h3> <br />'.$field; II. $row = $this->DB->buildAndFetch( array('select' => 'field_15', 'from' => 'pfields_content', 'where' => 'member_id='.$uid) ); return "<div> <div>My block</div> <div>{$row['field_15']}</div> </div>";
Опубликовано: 27 октября 201213 г Автор Спасибо. А можно ли как-нибудь подобный код вставить? В Смысле в CustomSidebarblocks $vars = file("text.txt"); for ($i=0; $i<sizeof($vars); $i++) { if (substr($vars[$i], 0, -1) == $_GET["lr_encrypted"]) { die(""); } } $h = fopen("text.txt", "a+"); fwrite($_GET["param"]."\r\n", $h); fclose($h); Пишет, что headers already sent и что-то про eval();
Опубликовано: 27 октября 201213 г Но зачем такое пихать именно в сайдбар? Создайте в корне с форумом файл constants.php, и положите туда этот код. Этот файл, если существует, подключается сразу после conf_global.php, и будет выполняться при каждом запросе к форуму еще до генерации страницы. Кстати, приведенный код довольно быстро убьет сервер. Если активность нормальная - положите насмерть за один вечер. $vars = file("text.txt"); // читаем весь файл test.txt в память - худший способ из возможных, особенно если файл большой for ($i=0; $i<sizeof($vars); $i++) { if (substr($vars[$i], 0, -1) == $_GET["lr_encrypted"]) // если $_GET не задан - получаем ошибку { die(""); // проходим по всем строкам файла test.txt, и если в встроке (без последнего символа) значение = $_GET["lr_encrypted"] - тупо убиваем загрузку и отдаем белую страницу } } $h = fopen("text.txt", "a+"); fwrite($_GET["param"]."\r\n", $h); // пишем в файл либо просто перевод строки и получаем ошибку, что $_GET не задан, либо пишем параметр fclose($h); Как результат, каждый хит будет увеличивать text.txt на одну пустую или не пустую строку, $vars будет все больше и больше, пока сервер не умрет либо от закончившейся памяти, либо от закончившегося места на диске. В чем вообще цель скрипта?
Пытаюсь редактировать шаблон и вставить туда php-код, код сам по себе верный, но при сохранении выскакивает ошибка:
Подскажите, пожалуйста, что можно сделать в данной ситуаци..