Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Appache
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 2
#1

PHP Код из Бд ( sqlite3) выводится в браузер, а не выполняется

13.02.2014, 19:58. Просмотров 810. Ответов 1
Метки нет (Все метки)

Собственно, проблема в том, что код при подстановке из бд в файл не выполняется, а только подставляется, при чем не сначала. С кодировкой проблем нет точно(utf-8 без BOM), работаю на денвере, сервер запущен, сайт в браузере открыт через http, а не через file, html код на других страницах выводится нормально. Чуть позже выложу код пхп, который грузится из бд, код, который обрабатывает загрузку и скрин итога в браузере. Пока что хотелось бы услышать какие- либо догадки. И да, код вывожу через переменную с помощью конструкции Echo

Добавлено через 1 час 9 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!-- Подключение шапки и навигации -->
<?php require("header.php") ?>
 
<!-- Подключение левого сайдбара -->
<?php require("leftSideBar.php") ?>
 
 
<!-- Контент страницы -->
<div class="content">
    <div class="marshruts">
        <?php 
 
            function utf8_substr($str,$from,$len){ // Функция для удаления лишних символов  
            return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.  
            '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
            '$1',$str);
            }
 
            if (isset($_GET['w']))
            {
                $w = $_GET['w'];
                $db = new SQLite3('DB/pa.sqlite3'); 
 
                if (!$db) exit("Не удалось создать базу данных!");
                $sql = "SELECT numb FROM marshrut";
                $result = $db->query($sql);
                while($row = $result->fetchArray(SQLITE3_ASSOC))
                {
                    if($w[0] == "К")
                        $w[0] = "K";
                    $wn = utf8_substr($w, 1, (strlen($wn)-1));
                    
                    $wn = "K-".$wn;
                    $wn = "\"".rtrim($wn)."\"";
    
                }
                $sql = "SELECT link FROM marshrut WHERE numb = $wn";
                $result = $db->query($sql);
                $row = $result->fetchArray(SQLITE3_ASSOC);
                $url = $row['link'];
                require("maps.php");
 
                $db->close();
 
            }
 
            else
            {
                $db = new SQLite3('DB/pa.sqlite3'); 
 
                if (!$db) exit("Не удалось создать базу данных!");
                $sql = "SELECT numb, ahref FROM marshrut";
                $result = $db->query($sql);
                echo "<h1>000-099</h1>";
                while($row = $result->fetchArray(SQLITE3_ASSOC))
                {
                    echo $row['ahref']."\n";
                    switch ($row['numb']) {
                        case 'K-99':
                            echo "<h1>100-199</h1>";
                            break;
 
                        case 'K-199':
                            echo "<h1>200-299</h1>";
                            break;
 
                        case 'K-299':
                            echo "<h1>300-399</h1>";
                            break;
 
                        case 'K-397':
                            echo "<h1>400-499</h1>";
                            break;
                            
                        case 'K-484':
                            echo "<h1>500-599</h1>";
                            break;  
 
                        case 'K-575':
                            echo "<h1>600-699</h1>";
                            break;
                            
                        case 'K-696':
                            echo "<h1>700-799</h1>";
                            break;      
 
                        case 'K-730':
                            echo "<h1>800-899</h1>";
                            break;      
                    }
                    
                }
 
                $db->close();
            }
        ?>
    </div> 
 
 
</div>
 
<!-- Подключение правых сайдбаров -->
<?php require("rightSideBars.php") ?>
    
<!-- Подключение правых сайдбаров -->
<?php require("footer.php") ?>

Вот так у меня выглядит код файла. Суть в том, что я все, что заключено между тегами <div class="content"></div> поместил в БД, откуда подставляю этот код в index.php, то есть, получается что- то, вроде простенького движка. Проблема в том, что код, который не подставляется из БД, то есть, находится сразу в файле, работает корректно, а тот же самый код, который подставляется из БД, выводится в браузер
Код файла index.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
    if (isset($_GET['id']))
    {
        $id = $_GET['id'];
 
        $db = new SQLite3('DB/pa.sqlite3'); 
            if (!$db) exit("Не удалось создать базу данных!");
 
        $sql2 = "SELECT title, content, meta FROM pages WHERE id=$id";
        $result2 = $db->query($sql2);
        while ($res2 = $result2->fetchArray(SQLITE3_ASSOC)) {
            $title = $res2['title'];
            $content = $res2['content'];
        }
        $db->close();
    }
    else
    {
        header("Location: index.php?id=1");
        exit;
    }
 
?>
 
<!-- Подключение шапки и навигации -->
<?php require("header.php") ?>
 
<!-- Подключение левого сайдбара -->
<?php require("leftSideBar.php") ?>
 
 
<!-- Контент страницы -->
<div class="content">
    <?php print $content; ?>
</div>
 
<!-- Подключение правых сайдбаров -->
<?php require("rightSideBars.php") ?>
    
<!-- Подключение правых сайдбаров -->
<?php require("footer.php") ?>

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2014, 19:58
Ответы с готовыми решениями:

В Dreamweaver переменная подсвечивается как оператор и при запросе к скрипту, код выводится в браузер.
Установил dreamweaver cs6, попытался создать переменную через знак $, а она...

PHP код не выполняется ,не работает в браузере
PHP код не выполняется ,не работает в браузере &lt;?php $rando =...

Выполнить код php (вывести значения переменных), который выводится из БД.
В строке взятой из бд майскл есть переменная (типа $a); как сделать чтоб при...

PHP код выполняется но надо еще создать элементы формы
Добрый день - вот код php при выполнение которого приводит ко входу в личный...

php+mysql+textarea выполняется код в textarea
Здравствуйте проблема вот в чём Я вывожу в printf код &lt;textarea name=&quot;text&quot;...

1
Appache
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 2
13.02.2014, 20:00  [ТС] #2
Вот скрин, где код грузится через бд
PHP Код из Бд ( sqlite3) выводится в браузер, а не выполняется


Вот скрин, где весь код находится в файле

PHP Код из Бд ( sqlite3) выводится в браузер, а не выполняется


Заметил, что если открыть файл, в котором находится весь код не через сервер, а как отдельный файл, то вывод кода будет точно таким же, как и через бд
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2014, 20:00

PHP и SQlite3. Не знаю как получить данные и посчитать
Доброго дня! скажу сразу - я не программист, поэтому не судите строго за...

Движок на базе PHP + SQLITE(SQLITE3). Как лучше реализовать хранение URL?
Доброго времени суток, уважаемые! Заказчику требуется сохранить в базу данных...

PHP код не выполняется / не работает / выводится в браузер / пустая белая страница
Достаточно часто у начинающих разработчиков встречаются проблемы с запуском...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru