|
|
|
|
|
|
для: dedev
(30.10.2006 в 12:37)
| | пишет Notice: Undefined variable: title in z:\home\test1.ru\www\index.html on line 10
Значит sqlite_num_rows($query) <= 0, либо запрос $query неудачен.
Вместо
<?php
$var = str_replace("'", "`", $_SERVER['REQUEST_URI']);
?>
|
Лучше писать
<?php
$var = mysql_escape_string($_SERVER['REQUEST_URI']);
?>
|
| |
|
|
|
|
автор: dedev (30.10.2006 в 12:37) |
|
|
для: ЯR
(30.10.2006 в 12:18)
| | SQLite
<?php
$db = sqlite_open("metadata.db");
if ($query = sqlite_query($db, "SELECT * FROM metadata WHERE page='".str_replace("'", "`", $_SERVER['REQUEST_URI'])."'")) {
if (sqlite_num_rows($query) > 0) {
$meta_data = sqlite_fetch_array($query);
$title = $meta_data;
}
}
print "<title>{$title}</title>";
?>
|
пишет Notice: Undefined variable: title in z:\home\test1.ru\www\index.html on line 10 | |
|
|
|
|
|
|
|
для: dedev
(30.10.2006 в 11:39)
| |
<?php
$go = $_GET['go'];
$titles['main'] = 'Сайт';
$titles['news'] = 'Новости';
$titles['articles'] = 'Статьи';
if(isset($go) && preg_match('#^([a-z0-9_]+/)?[a-z0-9_\.]+$#iU', $go)){
if(preg_match('#^([a-z0-9_]+)/[a-z0-9_\.]+$#iU', $go, $regs)) $dir_name = $regs[1];
if (empty($dir_name)) $dir_name = 'main';
print "<title>{$titles[$dir_name]}</title>";
// и т.д.
}
if(isset($go) && preg_match('#^([a-z0-9_]+/)?[a-z0-9_\.]+$#iU', $go)){
$file=$go.'.htm';
}
else $file='main.htm'; //страница main.htm если переменная
// $go не задана, иначе файл типа .htm с именем $go
if (file_exists($file)) //если файл существует
include ($file); // добавляем страницу
else
echo 'Файл '.$file.' не найден на сервере, обратитесь к администратору... ';
?>
|
| |
|
|
|
|
|
|
|
для: dedev
(30.10.2006 в 11:09)
| |
CREATE TABLE metadata (
id_page int(11) NOT NULL auto_increment,
page tinytext,
title tinytext,
keywords tinytext,
description text,
PRIMARY KEY (id_page)
) ENGINE=MyISAM;
|
| |
|
|
|
|
автор: dedev (30.10.2006 в 11:39) |
|
|
для: dedev
(30.10.2006 в 11:09)
| | Нельзя ли чуть подправить
При загрузки главной страницы заголовок title не отображается
<?php
$titles[] = 'Сайт';
$titles['news'] = 'Новости';
$titles['articles'] = 'Статьи';
if(isset($go) && preg_match('#^([a-z0-9_]+/)?[a-z0-9_\.]+$#iU', $go)){
if(preg_match('#^([a-z0-9_]+)/[a-z0-9_\.]+$#iU', $go, $regs)) $dir_name = $regs[1];
else $dir_name = 0;
print "<title>{$titles[$dir_name]}</title>";
// и т.д.
}
if(isset($go) && preg_match('#^([a-z0-9_]+/)?[a-z0-9_\.]+$#iU', $go)){
$file=$go.'.htm';
}
else $file='main.htm'; //страница main.htm если переменная
// $go не задана, иначе файл типа .htm с именем $go
if (file_exists($file)) //если файл существует
include ($file); // добавляем страницу
else
echo 'Файл '.$file.' не найден на сервере, обратитесь к администратору... ';
?>
|
| |
|
|
|
|
автор: dedev (30.10.2006 в 11:09) |
|
|
для: ЯR
(30.10.2006 в 06:15)
| | моих знаний, к сожалению не хватает
буду выкручиваться без мета-тегов
спасибо
P.S. Не могли бы вы привести структуру таблиц для этого кода
<?php
if ($query = mysql_query("SELECT * FROM metadata WHERE page='".str_replace("'", "`", $_SERVER['REQUEST_URI'])."'")) {
if (mysql_num_rows($query) > 0) {
$meta_data = mysql_fetch_array($query);
$title = $meta_data[];
}
}
print "<title>{$title}</title>";
?>
|
| |
|
|
|
|
|
|
|
для: dedev
(30.10.2006 в 01:05)
| | > Жаль, что для этого кода нельзя сделать добавление мета-тегов к каждой странице,
На моих сайтах meta-данные хранятся в базе данных, и выбираются в зависимости от запрашиваемого uri ($_SERVER['REQUEST_URI']), т.е. примерно так:
<?php
if ($query = mysql_query("SELECT * FROM metadata WHERE page='".str_replace("'", "`", $_SERVER['REQUEST_URI'])."'")) {
if (mysql_num_rows($query) > 0) {
$meta_data = mysql_fetch_array($query);
$title = $meta_data[];
}
}
print "<title>{$title}</title>";
?>
|
можете так же сделать | |
|
|
|
|
автор: dedev (30.10.2006 в 01:05) |
|
|
для: ЯR
(29.10.2006 в 23:03)
| | Жаль, что для этого кода нельзя сделать добавление мета-тегов к каждой странице, ну все равно спасибо Вам за помощь.
Тему можно закрыть
Еще раз всем спасибо
<?php
if(isset($go) && preg_match('#^([a-z0-9_]+/)?[a-z0-9_\.]+$#iU', $go)){
$file=$go.'.htm';
}
else $file='main.htm'; //страница main.htm если переменная
// $go не задана, иначе файл типа .htm с именем $go
if (file_exists($file)) //если файл существует
include ($file); // добавляем страницу
else
echo 'Файл '.$file.' не найден на сервере, обратитесь к администратору... ';
?>
|
| |
|
|
|
|
|
|
|
для: dedev
(29.10.2006 в 22:43)
| | Принято разбивать страницу на модули.
Как минимум на шапку, содержание и подвал.
тогда код страниц выглядит так
<?php
$title = 'Заголовок';
include('inc/header.php'); // включаем шапку
// тут содержание страницы
include('inc/footer.php'); // включаем подвал
?>
|
<?php
// header.php
?>
<html>
<head>
<title><?php print $title ?></title>
</head>
<body>
|
<?php
// footer.php
?>
</body>
</html>
|
| |
|
|
|
|