Помощь в php. Сайт на Dle.

darkworld
На сайте с 26.03.2013
Offline
65
1683

Здравствуйте. Сайт на Dle. Проблема в следующем. В полной новости при нажатии на ссылку происходит редирект на страницу которая имеет вид: сайт.ru/engine/redirect.php?url=урлстраницы. Так вот мне нужно чтобы на эту страницу передавался параметр {title} и там же отображалась полная новость. В пхп не силен очень нужна помощь знающих.:confused:

Рекламных дел мастер.
siv1987
На сайте с 02.04.2009
Offline
427
#1

Подправить ссылку, добавив к ней еще один параметр /engine/redirect.php?url=урлстраницы&title=titlenews, или же на redirect.php из бд достать тайтл новости по айди.

darkworld
На сайте с 26.03.2013
Offline
65
#2

Уважаемый siv1987. Заинтересовал 2 вариант, не могли бы Вы подробнее его описать или показать пример. Заранее спасибо.

---------- Добавлено 26.03.2013 в 18:41 ----------

Помогите кто-нибудь уже обыскал весь интернет, но так ничего не нашел.

siv1987
На сайте с 02.04.2009
Offline
427
#3


define ( 'DATALIFEENGINE', true );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );

require ENGINE_DIR.'/classes/mysql.php';
require ENGINE_DIR.'/data/dbconfig.php';

$_url = $_SERVER['QUERY_STRING'];
$title = '';

if( preg_match( '#/(\d+)-[^/]+$#', $_url, $out ) )
{
$id = $out[1];
$row = $db->super_query( "SELECT title FROM ".PREFIX."_post WHERE id={$id}");

$title = $row['title'];
}

echo $title;
darkworld
На сайте с 26.03.2013
Offline
65
#4

Очень извиняюсь за свою тупость😒 Но как совместить Ваш код с моим?

<?php
error_reporting(7);

define('ROOT_DIR', '..' );
define('ENGINE_DIR' , ROOT_DIR . '/engine');

require_once ( ENGINE_DIR . '/data/config.php');



if ( !count($config) || !$config)
{
die ("Ошибка в файле <b>engine/data/config.php</b>");
}
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Настройки
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// Проверка на валидность URL ?

define('URL_CHECK' , 1); // по умолчанию 1 ( 0 - нет )
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Дальше не мацать код
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$url = (isset($_GET['url']) && (!empty($_GET['url']))) ? trim($_GET['url']) : @header('Location: /index.php');

if ( URL_CHECK )
{
if ( !eregi ( 'http://' , $url ))
{
die ("Неправильно построенный url");
}
}
$link = "<a href=\"".$url."\">".$url."</a>";
$url_a = ".$url.";

include_once ( ENGINE_DIR . '/' . (($config['version_id'] > 6.2) ? 'classes' : 'inc') . '/templates.class.php');

$skin = new dle_template;
$skin -> dir = ( ROOT_DIR.'/templates/zaxodu');

$skin -> load_template('redirect.tpl');
$skin -> set('{link}', $link );
$skin -> set('{name}', $name);
$skin -> set('{url}', $url);
$skin -> compile('redirect');
$skin -> clear();

print ( $skin -> result ['redirect'] );
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

?>
darkworld
На сайте с 26.03.2013
Offline
65
#5

Никто так и не поможет?

siv1987
На сайте с 02.04.2009
Offline
427
#6

Вам вроде уже помогли, вон и код написали.

IL
На сайте с 20.04.2007
Offline
435
#7
siv1987:
Вам вроде уже помогли, вон и код написали.

Ну написать-то написали, а что с ним делать... нуНипанятнаЖе!

darkworld, а вообще, там у Вас в коде чётко написано:

// Дальше не мацать код
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
darkworld
На сайте с 26.03.2013
Offline
65
#8

Все, проблема решена. Спасибо за помощь.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий