Здравствуйте! Столкнулся с такой проблемой - не работает код, если часть кода, отвечающую за подключение к базе данных убрать в отдельный блок и подключать через include. Так работает: Код (Text): <?php try { $pdo = new PDO("mysql:host=mysql87.1gb.ru; dbname=gb_tw_mag", "xxx", "xxx"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "<p>Запрос на выборку данных из бызы не прошёл. Напишите об этом администратору <a href='mailto:admin@torawhite.ru'>admin@torawhite.ru</a>.</p><br>ERROR: " . $e->getMessage(); exit; } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="description" content=""> <meta name="keywords" content=""> <title>Стиль | Журнал | Torawhite.ru | Store & Magazine</title> <?php include ("http://www.torawhite.ru/blocks/favicon.php"); ?> <!--Таблицы стилей--> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/reset.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/input_reset.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/main.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/fonts.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/header.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/magazine_css/magazine_left_sidebar.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/magazine_css/article_block_box.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/article/article_block.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/magazine_css/magazine_right_sidebar.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/top_nav.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/bottom_nav.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/footer.css"> <?php include ("http://www.torawhite.ru/magazine//magazine_blocks/magazine_scripts_head.php"); ?> </head> <body> <div class="wrapper"> <?php include ("http://www.torawhite.ru/blocks/header.php"); include ("http://www.torawhite.ru/blocks/top_nav.php"); ?> <div class="container"> <?php include ("http://www.torawhite.ru/magazine/magazine_blocks/magazine_left_sidebar.php"); ?> <div class='article_block_box'> <?php $data = $pdo->prepare("SELECT link, title, article_img, description, article_date, author, author_link FROM male_article WHERE cat='1' ORDER BY id DESC"); $data->execute(array('cat'=>1)); $row = $data->fetch(); do { printf(" <div class='article_block'> <div class='article_block_image'><a href='%s' target='_self' title='%s'></a></div> <div class='article_block_name'> <p><span class='article_block_name_top'><a href='%s' target='_self'>%s</a></span></p> <p ><span class='article_block_name_date'>%s | </span><span class='article_block_author'><a href='%s' target='_self'>%s</a></span></p> </div> <div class='article_block_text'> %s </div> <div class='article_block_full_story'> <a href='%s' target='_self'>Читать полностью</a> </div> </div>", $row["article_img"],$row["title"],$row["link"],$row["title"],$row["article_date"],$row["author_link"],$row["author"],$row["description"],$row["link"]); } while ($row = $data->fetch()); ?> </div> <?php include ("http://www.torawhite.ru/magazine/magazine_blocks/magazine_right_sidebar.php"); ?> <div class="clear"></div> </div> <?php include ("http://www.torawhite.ru/blocks/bottom_nav.php"); include ("http://www.torawhite.ru/blocks/footer.php"); ?> </div> <?php include ("http://www.torawhite.ru/blocks/scripts_body.php"); ?> </body> </html> Так не работает: Код (Text): <?php include ("http://www.torawhite.ru/blocks/gb_tw_mag.php"); ?> <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="description" content=""> <meta name="keywords" content=""> <title>Стиль | Журнал | Torawhite.ru | Store & Magazine</title> <?php include ("http://www.torawhite.ru/blocks/favicon.php"); ?> <!--Таблицы стилей--> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/reset.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/input_reset.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/main.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/fonts.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/header.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/magazine_css/magazine_left_sidebar.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/magazine_css/article_block_box.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/article/article_block.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/magazine/magazine_css/magazine_right_sidebar.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/top_nav.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/bottom_nav.css"> <link rel="stylesheet" type="text/css" href="http://www.torawhite.ru/css/footer.css"> <?php include ("http://www.torawhite.ru/magazine//magazine_blocks/magazine_scripts_head.php"); ?> </head> <body> <div class="wrapper"> <?php include ("http://www.torawhite.ru/blocks/header.php"); include ("http://www.torawhite.ru/blocks/top_nav.php"); ?> <div class="container"> <?php include ("http://www.torawhite.ru/magazine/magazine_blocks/magazine_left_sidebar.php"); ?> <div class='article_block_box'> <?php $data = $pdo->prepare("SELECT link, title, article_img, description, article_date, author, author_link FROM male_article WHERE cat='1' ORDER BY id DESC"); $data->execute(array('cat'=>1)); $row = $data->fetch(); do { printf(" <div class='article_block'> <div class='article_block_image'><a href='%s' target='_self' title='%s'></a></div> <div class='article_block_name'> <p><span class='article_block_name_top'><a href='%s' target='_self'>%s</a></span></p> <p ><span class='article_block_name_date'>%s | </span><span class='article_block_author'><a href='%s' target='_self'>%s</a></span></p> </div> <div class='article_block_text'> %s </div> <div class='article_block_full_story'> <a href='%s' target='_self'>Читать полностью</a> </div> </div>", $row["article_img"],$row["title"],$row["link"],$row["title"],$row["article_date"],$row["author_link"],$row["author"],$row["description"],$row["link"]); } while ($row = $data->fetch()); ?> </div> <?php include ("http://www.torawhite.ru/magazine/magazine_blocks/magazine_right_sidebar.php"); ?> <div class="clear"></div> </div> <?php include ("http://www.torawhite.ru/blocks/bottom_nav.php"); include ("http://www.torawhite.ru/blocks/footer.php"); ?> </div> <?php include ("http://www.torawhite.ru/blocks/scripts_body.php"); ?> </body> </html> Содержание gb_tw_mag.php : Код (Text): <?php try { $pdo = new PDO("mysql:host=mysql87.1gb.ru; dbname=gb_tw_mag", "xxx", "xxx"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "<p>Запрос на выборку данных из бызы не прошёл. Напишите об этом администратору <a href='mailto:admin@torawhite.ru'>admin@torawhite.ru</a>.</p><br>ERROR: " . $e->getMessage(); exit; } ?> Выдаёт ошибку в строке: $data = $pdo->prepare("SELECT link, title, article_img, description, article_date, author, author_link FROM male_article WHERE cat='1' ORDER BY id DESC"); Сама ошибка: Fatal error: Call to a member function prepare() on a non-object in /home/virtwww/w_torawhite-ru_404794df/http/magazine/male_articles/style/index.php on line 44
Re: Трудности при вставке php-кода при помощи функции includ ого. инклюд через http. это кто вам такое написал?
Re: Трудности при вставке php-кода при помощи функции includ Сам писал. Там куча блоков подключается, помимо этого и все подключаются, кроме того, который отвечает за подключение к базе Если убрать http выдаёт ошибку функции include Добавлено спустя 3 минуты 40 секунд: Re: Трудности при вставке php-кода при помощи функции include Даже здесь пишут через http http://www.php.su/include
Re: Трудности при вставке php-кода при помощи функции includ ну понятно)))) короче. вы когда пхп заказываете по хттп его по дефолту жрет пхп машина и выплевывает результат работы. и результат работы скорее всего не пхп а хтмл. подключать надо локально. только голову включить и понять какие ошибки сыпятся. это основы языка.
Re: Трудности при вставке php-кода при помощи функции includ Тогда смысл подключения, если придётся плодить этот блок к каждой странице, где есть запрос к базе данных? А их могут быть сотни
Re: Трудности при вставке php-кода при помощи функции includ ну понятно, часть вторая. а есть какое-то обоснование за каким хером было принято решение гонять пхп машину полувнешними запросами? я весь внимания. прям очень интересно. а то может я уже старый слишком стал.
Re: Трудности при вставке php-кода при помощи функции includ Вы меня извините, пожалуйста, я начинающий в php, слег профессиональный я не особо понимаю. Если можете, то объясните, пожалуйста, более доступно. Если Вы про блоки, которые я вставляю, то чтобы они подключались автоматически и при желании можно было в них что-то изменить и не переписывать весь сайт, так же, как и с подключением к базе данных
Re: Трудности при вставке php-кода при помощи функции includ а с каких пор пхп стал хреновым шаблонизатором? вы просто не понимаете что делаете но упорно продолжаете делать так вместо того чтоб понять как нужно делать. например подключать локальные файлы. удалённый код только при очень большой необходимости. и то его надо скачивать в локальный кэш и подключать из кэша. переписывайте на локальное подключение.
Re: Трудности при вставке php-кода при помощи функции includ дык фишка в том, что заинклюдится просто результат работы скрипта, а не сам скрипт. Добавлено спустя 1 минуту 25 секунд: Re: Трудности при вставке php-кода при помощи функции include Расскажи подробно. Ничерта не понятно. Это тот сайт, на котором ты подключать пытаешься, или другой?
Re: Трудности при вставке php-кода при помощи функции includ Спасибо Вам, помогли разобраться. igordata, да, это тот сайт. Два способа подключить: 1. Скинуть блок в корень сайта и подключить локально: include '../../../gb_tw_mag.php'; 2. Второй способ с помощью суперглобального массива $_SERVER: $root = $_SERVER['DOCUMENT_ROOT']; include ($root . "/blocks/gb_tw_mag.php");