Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59

Блог по Гизберту Дамашке

06.12.2012, 09:41. Показов 2322. Ответов 17

Студворк — интернет-сервис помощи студентам
Пытаюсь сделать блог по книге Гизберту Дамашке, но не получается. Вот коды файлов

#_functions.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
<?php 
function PostVar($variable_name){
    $result = $_POST['$variable_name'];
    if(get_magic_quotes_gpc())$result = stripslashes($result);
    return trim($result);
}
 
function format($text){
    $result = htmlspecialchars($text);
    $result = str_replace("\r\n\r\n","<br><br>",$result);
    return $result;
}
 
function format_date($t){
    $months = array("Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря");
    if($t=="now")$result = date("j ").
        htmlspecialchars($months[date("n")-1]).date("Y, H:i");
    else $result = date("j",$t).
        htmlspecialchars($months[date("n")-1],$t).date("Y, H:i:s", $t);
        return $result;
        }
 
 
?>
admin.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
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
<?php 
$blog_title = "Интерфейс администратора";
include("mysql_connect.php");
include("#_functions.php");
$title = PostVar("title");
$message = PostVar("message");
$rubric = PostVar("rubric");
$lank = PostVar("lank");
$url = PostVar("url");
$status = $_POST['status'];
$data = format_date("now");
if(!empty($url) && empty($lank)) $lank = "Source";
if(!empty($status)){
    if(empty($title)) $error.="Не указан заголовок.<br>";
    if(empty($message)) $error.="Не указан текст.<br>";
    if(empty($rubric)) $error.="Не указан раздел.<br>";
    if(!empty($lank) && empty($url)) $error.="Ссылка без URL.<br>";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $blog_title; ?></title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
 
<body>
<div align="center">
<table width="500" id="container">
<tr><td id="title"><?php echo $blog_title; ?><td></tr>
<tr>
<td id="blog" colspan="2">
<?php 
    if($error) echo "<p>$error</p>";
    elseif($status=="Просмотр"){
?>
<small><?php echo $data; ?></small><br>
<big><?php echo format($title); ?></big>
<?php echo format(message); ?>
<small>Рубрика: <?php echo format($rubric); ?></small><br>
<?php 
    if(!empty($url)){
?>
<small><a href="<?php echo $url; ?>"><?php echo format($lank); ?></a></small>
<?php 
}
echo"</p>";
} elseif ($status == "Ввод"){
$guery = "INSERT INTO blog SET data = now(), title = '".addslashes($title)."',message = '".addslashes($message)."',rubric = '".addslashes($rubric)."',lank = '".addslashes($lank)."',url = '".addslashes($url)."'";
$sql = mysql_query($query) or die(mysql_error());
unset($status, $title, $message, $rubric, $lank, $url);
}
?>
</td>
</tr>
<tr>
<td>
<form action="admin.php" method="post"> 
<table>
<tr>
<td><small><b>Заголовок</b><small></td>
<td><input type="text" name="title" value="<?php echo htmlspecialchars($title); ?>" style="width:380px"></td>
</tr>
<tr>
<td><small><b>Сообщение</b><small></td>
<td><textarea name="message" style="width:380px; height:150px;"><?php echo htmlspecialchars($message); ?></textarea></td>
</tr>
<tr>
<td><small><b>Рубрика</b><small></td>
<td><input type="text" name="rubric" value="<?php echo htmlspecialchars($rubric); ?>" style="width:380px"></td>
</tr>
<tr>
<td><small><b>Заголовок ссылки</b><small></td>
<td><input type="text" name="lank" value="<?php echo htmlspecialchars($lank); ?>" style="width:380px"></td>
</tr>
<tr>
<td><small><b>Адрес ссылки</b><small></td>
<td><input type="text" name="url" value="<?php echo $url; ?>" style="width:380px"></td>
</tr>
<tr>
<td></td>
<td>
    <input type="submit" name="status" value="Просмотр">
    <input type="submit" name="status" value="Ввод">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</div>
</body>
</html>
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
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
<?php 
include("mysql_connect.php");
include("#_functions.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php  echo $blog_title;?></title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
 
<body>
<div align="center">
<table width="640" id="container">
<tr>
<td width="100%" id="title" colspan="2">
<?php echo $blog_title; ?>
</td>
</tr>
<tr>
<td id="myny" width="20%">
<?php 
    $id = $_GET['id'];
    settype($id, "integer");
    $rubric = array("Важно");
    $query = "SELECT DISTINCT(rubric) FROM blog ORDER BY rubric";
    $sql = mysql_query($query) or die(mysql_error());
    while ($row = mysql_fetch_object($sql)) $rubric[] = $row -> rubric;
    foreach ($rubric as $index => $meny)
        echo"<p><a href='?id = $index'>$meny</a></p>";
?>
</td>
<td id="blog" width="80%">
<?php 
if($id < 0 || $id >= count($rubric)) $id = 0;/* т.к в массиве все записи начинаются с нуля поэтому >= */
$where = $rubric[$id];
$select = "UNIX_TIMESTAMP(data) as data, title, message, rubric, lank, url";
if(empty($id)) $query = "SELECT $select FROM blog ORDER BY data DESC";
else $query = "SELECT $select FROM blog WHERE rubric = '$where' ORDER BY data DESC ";
$sql = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_object($sql)){
    $timestamp = $row -> data;
    $title = $row -> title;
    $message = $row -> message;
    $rubric = $row -> rubric;
    $lank = $row -> lank;
    $url = $row -> url;
    $data = format_date($timestamp);
    echo"<p>";
?>
<small><?php echo $data; ?></small><br>
<big><?php echo format($message); ?></big><br>
<small>Рубрика: <?php echo format($rubric) ?></small><br>
<?php 
if (!empty($url)){
?>
<small><a href="<?php echo $url; ?>"><?php echo format($lank) ?></a></small>
<?php 
    }
    echo "</p>";
}
?>
 
</td>
</tr>
</table>
</div>
</body>
</html>
mysql_connect.php
PHP
1
2
3
4
5
<?php 
$db = mysql_connect("localhost","pma","12345");
mysql_select_db("mysql", $db);
mysql_query('SET NAMES cp1251');
?>
Добавил 2 таблицы с именем blog_admin и blog, и добавил пользователя pma с паролем. Посмотрите ошибки
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2012, 09:41
Ответы с готовыми решениями:

Пустая админка в блоге, сделанном по книге Г. Дамашке
Друзья, помогите пожалуйста доделать блог. Делаю блог по книге Г. Дамашке, но не получается. Блог состоит из 5 файлов admin.php -...

блог
Форум посещаю не очень часто, как-то не могу адаптироваться. Пару раз задала вопрос, но никто не ответил. У меня блог roksolla.ru уже 4...

Блог
Здравствуйте, подскажите,пожалуйста, блог программиста С++ в котором частые обновления, блогер выкладывает свои программы, новости из мира...

17
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.12.2012, 09:50
а ошибки то какие?
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59
06.12.2012, 09:59  [ТС]
При заходе на главную страницу есть только раздел "Важно" и всё, больше ничего. Если перехожу на admin.php, то при заполнении формы он пишет, что не заполнены "Заголовок, текст, раздел".
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.12.2012, 10:19
структуру таблиц покажите еще


$result = $_POST['$variable_name'];

в PostVar функции нужно одинарные кавычки убрать или поставить вместо них двойные, потому что в одинарных кавычках переменные не подставляются

Добавлено через 7 минут
и index.php 26-31 строки попробуйте так сделать
PHP
1
2
3
4
5
6
7
$rubric = array("Важно");
    $query = "SELECT `id`,`rubric` FROM `blog` ORDER BY `rubric`";
    $sql = mysql_query($query) or die(mysql_error());
    while ($row = mysql_fetch_object($sql)) 
        $rubric[$row->id] = $row->rubric;
    foreach ($rubric as $index => $meny)
        echo"<p><a href='?id=$index'>$meny</a></p>";
Добавлено через 2 минуты
Цитата Сообщение от Goggi Посмотреть сообщение
mysql_select_db("mysql", $db);
Таблица которую вы сделали точно называется mysql ?
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59
06.12.2012, 10:47  [ТС]
БД называется mysql.
Таблица blog_admin
ID smallint AI Primary key
Name varchar(255)
Password varchar(255)

Таблица blog
ID smallint AI Primary Key
Data datetime
Title varchar(255)
Message text
Rubric varchar(255)
Lank varchar(255)
Url text
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.12.2012, 12:36
названия полей таблиц маленькими буквами назовите
и поменялось что нибудь после того что я выше написал?
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59
06.12.2012, 12:42  [ТС]
На главной странице так и остался раздел "Важно". В admin.php при вводе данных пишет "Query was empty"
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.12.2012, 12:55
откуда может взяться "Query was empty", если у вас вот список ошибок?

Цитата Сообщение от Goggi Посмотреть сообщение
PHP
1
2
3
4
if(empty($title)) $error.="Не указан заголовок.<br>"; 
if(empty($message)) $error.="Не указан текст.<br>"; 
if(empty($rubric)) $error.="Не указан раздел.<br>"; 
if(!empty($lank) && empty($url)) $error.="Ссылка без URL.<br>";
Добавлено через 2 минуты
и поменяйте название базы данных, mysql это системная база, вам скорее всего в доступе к этой базе отказано
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.12.2012, 12:57
Цитата Сообщение от Goggi Посмотреть сообщение
пишет "Query was empty"
пустой запрос, либо не все указано. проверьте что идет в запрос - выведите его на экран перед запросом
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.12.2012, 13:02
Цитата Сообщение от KOPOJI Посмотреть сообщение
пустой запрос, либо не все указано. проверьте что идет в запрос - выведите его на экран перед запросом
это mysql_error выводит?
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59
06.12.2012, 13:03  [ТС]
Поменял БД, всё тоже самое.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.12.2012, 13:05
Цитата Сообщение от alpex Посмотреть сообщение
это mysql_error выводит?
alpex, да
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.12.2012, 13:15
хм ну mysql_error доолжна пару строк текста выводить где написано что не так, а нее три слова
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59
06.12.2012, 14:00  [ТС]
Ну так чего ребят, не знаете в чём проблема?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.12.2012, 14:33
Goggi, я выше написал. читайте внимательнее.
alpex,
PHP
1
2
3
4
5
6
<?php mysql_connect('******', '******', '*****');
mysql_select_db('****');
$res = mysql_query(''); //пустой запрос
echo 'что-то там<br /><br />';
if(!$res)
  echo 'Ошибка: ', mysql_error();
Результат:
что-то там

Ошибка: Query was empty
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59
07.12.2012, 11:41  [ТС]
В общем, теперь данные вводятся в БД и на главной странице сообщения показывает. Как сделать, чтобы на главной странице была кнопка ввести сообщение, и чтобы при введении сообщение переводил на сам блог, а не оставался на этой форме ввода.

Добавлено через 9 часов 9 минут
Как сделать, чтобы на главной странице была кнопка ввести сообщение именно для администратора, и чтобы при введении сообщения переводил на сам блог, а не оставался на этой форме ввода.

Добавлено через 11 часов 48 минут
Ребят ну помогите кто знает.
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 59
10.12.2012, 11:45  [ТС]
Народ, помогите!!!
0
трансфер
25.06.2013, 17:01
Привет! Недавно купил упомянутую книгу. Понравилось, начал изучать и тоже проблемы. Правда немного другие. Вопрос ТС: Чем закончилась (и закончилась ли) эта история с блогом по книге?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.06.2013, 17:01
Помогаю со студенческими работами здесь

Блог!
Салют народ! Есть на блоге который написан на друпале &quot;Задать вопрос&quot; он работает по будням и получается его надо включать вручную и...

Блог
Посоветуйте где лучше вести свой блог??? Что вам в нём нравиться/не нравиться и тп

Sitemap и блог
Добрый день. Помогите объединить стандартный google_sitemap и мой встроенный блог simple_blog. Чтобы каждая новость выводилась в sitemap. ...

Личный блог +
Ребята, подскажите. на данный момент у меня 2 сайта, wordpress и drupal хочу найти движок (желательно бесплатный) ну, и скорее всего...

Пишу блог
Подскажите учебный материал для создания своего блога на ASP.NET MVC ENtity framework Может какой движок использовать? И как его...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru