| |
|
|
| | подскажите пожалуйста что в моём скрипте не правильно делал всё по книге, но всё равно выдаёт ошибку...
<?php
// Соединяемся с базой данных
require_once("../config.php");
?>
<a href="addpartform.php">Добавить новый раздел</a>
<p>Список страниц</p>
<ul>
<?php
// Выводим список разделов
$query = "SELECT * FROM artpages";
if($pgs = mysql_query($query))
{
while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
{
echo "<li><a href=index.php?id_page=$id_page>$part</a></li>";
}
} else puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
?>
</ul>
<a href="addartform.php?id_page=<? echo $_GET['id_page']; ?>">
Добавить новую статью на выбранную страницу</a>
// Если параметр id_page не передан странице, устанавливаем его
// значение, равное 1
if(!isset($_GET['id_page'])) $_GET['id_page'] = 1;
// Формируем SQL-запрос на выборку статей в выбранном разделе
$query = "SELECT * FROM articles
WHERE id_page = ".$_GET['id_page']."
ORDER BY name";
// Выполняем SQL-запрос
$art = mysql_query($query);
// Останавливаем выполнение скрипта, если происходит ошибка при
// выполнении SQL-запроса
if(!$art) puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
// Если раздел содержит статьи, выводим их в таблице
if (mysql_num_rows($art)>0)
{
?>
<br>
<table>
<tr>
<td>Название (страница)</td>
<td>Описание (страница)</td>
<td>Название (title)</td>
<td>Описание (description)</td>
<td>Ключевые слова (keywords)</td>
<td colspan=3>Действие</td>
</tr>
<?
while($articles = mysql_fetch_array($art))
{
// Ссылки на скрытие/отображение
if($articles['hide'] == 'hide') $strhide = "<a href=showart.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">
Отобразить</a>";
else $strhide = "<a href=hideart.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">Скрыть</a>";
echo "<tr>
<td>
<a href=art.php?id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">".$articles['name']."</a>
</td>
<td>".$articles['description']."</td>
<td>".$articles['html_title']."</td>
<td>".$articles['html_description']."</td>
<td>".$articles['html_keywords']."</td>
<td>$strhide</td>
<td><a href=editartform.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">Редактировать</a>
</td>
<td><a href=delart.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">Удалить</a></td>
</tr>";
}
echo "</table>";
?>
|
| |
| |
|
|
| |
|
|
| |
для: shrek
(12.12.2006 в 01:42)
| | | У вас отсуствует открывающий тэг <?php в середине скрипта
<?php
// Соединяемся с базой данных
require_once("../config.php");
?>
<a href="addpartform.php">Добавить новый раздел</a>
<p>Список страниц</p>
<ul>
<?php
// Выводим список разделов
$query = "SELECT * FROM artpages";
if($pgs = mysql_query($query))
{
while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
{
echo "<li><a href=index.php?id_page=$id_page>$part</a></li>";
}
} else puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
?>
</ul>
<a href="addartform.php?id_page=<? echo $_GET['id_page']; ?>">
Добавить новую статью на выбранную страницу</a>
<?php
// Если параметр id_page не передан странице, устанавливаем его
// значение, равное 1
if(!isset($_GET['id_page'])) $_GET['id_page'] = 1;
// Формируем SQL-запрос на выборку статей в выбранном разделе
$query = "SELECT * FROM articles
WHERE id_page = ".$_GET['id_page']."
ORDER BY name";
// Выполняем SQL-запрос
$art = mysql_query($query);
// Останавливаем выполнение скрипта, если происходит ошибка при
// выполнении SQL-запроса
if(!$art) puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
// Если раздел содержит статьи, выводим их в таблице
if (mysql_num_rows($art)>0)
{
?>
<br>
<table>
<tr>
<td>Название (страница)</td>
<td>Описание (страница)</td>
<td>Название (title)</td>
<td>Описание (description)</td>
<td>Ключевые слова (keywords)</td>
<td colspan=3>Действие</td>
</tr>
<?
while($articles = mysql_fetch_array($art))
{
// Ссылки на скрытие/отображение
if($articles['hide'] == 'hide') $strhide = "<a href=showart.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">
Отобразить</a>";
else $strhide = "<a href=hideart.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">Скрыть</a>";
echo "<tr>
<td>
<a href=art.php?id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">".$articles['name']."</a>
</td>
<td>".$articles['description']."</td>
<td>".$articles['html_title']."</td>
<td>".$articles['html_description']."</td>
<td>".$articles['html_keywords']."</td>
<td>$strhide</td>
<td><a href=editartform.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">Редактировать</a>
</td>
<td><a href=delart.php?
id_article=".$articles['id_article']."&
id_page=".$_GET['id_page'].">Удалить</a></td>
</tr>";
}
echo "</table>";
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(12.12.2006 в 12:31)
| | | cheops большое спасибо! как то не заметил... вот меня интересует как писали эту книгу??? вот например:
<?
// Устанавливаем соединение с базой данных
require_once("../config.php");
// Устанавливаем значения переменных по умолчанию
if(!isset($action)) $action= "addart.php";
if(!isset($button)) $button = "Добавить";
if(!isset($title)) $title = "Добавление новой статьи";
// Если значение $tmp не установлено/ помечаем вновь добавляемую статью
// как доступную для просмотра (не скрытую).
if(!isset($tmp)) $tmp = "checked";
if(!isset($_GET['id_page']))
{
echo "Страница не выбрана";
exit();
}
?>
<title><?= $title ?></title>
<a href="javascript: history.back()">Назад</a>
<form action=<?php echo $action; ?> method=post>
<br>
Название : <input type="text" name="name" value="<?= $name ?>"><br><br>
Описание : <textarea name="description" cols="60" rows="2">
<?= $description; ?>
</textarea><br>
Название (title) :
<textarea name="html_title" cols="60" rows="2">
<?= $html_title ?>
</textarea><br>
Описание (description) :
<textarea name="html_description" cols="60" rows="2">
<?= $html_description ?>
</textarea><br>
Ключевые слова(keywords) :
<textarea name="html_keywords" cols="60" rows="2">
<?= $html_keywords ?>
</textarea>
Отображать : <input type="checkbox" name="hide" <?= $tmp ?>>
<input class="button" type="submit" value="<?= $button ?>">
<input type="hidden" name="id_page" value="<?= $_GET['id_page'] ?>">
<input type="hidden" name="id_article" value="<?= $id_article ?>">
</form>
|
всё как в книге написано а пишет какую то ошибку в полях для заполнения... интересно как можно по ней чему то научится если в начале книге столько ошибок! если я не прав поправьте меня! Вообще у кого нибудь есть Диск для этой книги?
<!--error--><br /><b>Notice</b>: Undefined variable: name in <b>z:\home\localhost\www\admin\articles\addartform.php</b> on line <b>21</b><br /><script language=JavaScript src='/errors__/phperror_js.php'></script>
|
| |
| |
|
|
| |
|
|
| |
для: shrek
(12.12.2006 в 16:34)
| | | notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985 | |
| |
|
|
| |
|
|
| |
для: shrek
(12.12.2006 в 16:34)
| | | При переборе может возникать множество ошибок, предполагается, что вы будет использовать и модифицировать код, представленный на компакт-диске книги. | |
| |
|
|
| |
|
|
| |
для: cheops
(12.12.2006 в 16:43)
| | | А в чём здесь тогда проблема??
<?php
// Устанавливаем соединение с базой данных
require_once("../config.php");
// Проверяем, заполнено ли поле name формы
if(empty($_POST['name'])) links($_POST['id_page'],
"Введите название статьи.");
// Определяем, скрыта статья или нет
if($_POST['hide'] == "on") $showhide = "show";
else $showhide = "hide";
// Заменяем одинарные кавычки обратными
$name = str_replace("'","'",$_POST['name']);
$description = str_replace("'","'",$_POST['description']);
$html_title = str_replace("'","'",$_POST['html_title']);
$html_description = str_replace("'","'",$_POST['html_description']);
$html_keywords = str_replace("'","'",$_POST['html_keywords']);
// Формируем и осуществляем SQL-запрос на добавление статьи
$query = "INSERT INTO articles VALUES (
NULL,
'$name',
'$description',
'$html_title',
'$html_description',
'$html_keywords',".
0,
'$showhide',".
$_POST['id_page'].")";
if(mysql_query($query))
{
// Выясняем первичный ключ id_article, сгенерированный для статьи
// механизмом AUTO_ICREMENT, чтобы добавить заголовок в таблицу
// paragraphes
$id_article = mysql_insert_id();
// Автоматически добавляем в статью заголовок,
// совпадающий с названием статьи
$query = "INSERT INTO paragraphes
VALUES (NULL,
'title',
'$name',
'',
'',
'',
1,
0,
'show',
$id_article)";
if(mysql_query($query))
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh'
CONTENT='0; URL=index.php?id_page=".$_POST['id_page']."'>
</HEAD></HTML>";
} else puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
}
else puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
// Функция вывода ошибки и ссылок возврата в окно браузера
function links($id_page,$msg)
{
echo "<p>".$msg."</p>";
echo "<p><a href=# onClick='history.back()'>
Вернуться к правке параграфа</a></p>";
echo "<p><a href=index.php?id_page=$id_page>
Администрирование статей</a></p>";
exit();
}
?>
|
Parse error: parse error, unexpected ',' in z:\home\localhost\www\admin\articles\addart.php on line 24 | |
| |
|
|
| |
|
|
| |
для: shrek
(12.12.2006 в 18:30)
| | | В строке
у вас лишняя последовательность ". | |
| |
|
|
| |
|
|
| |
для: cheops
(12.12.2006 в 22:17)
| | | А здесь проблема в самой базе данных??? А то я всё перепробовал...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
<?php
// Соединяемся с базой данных
require_once("../config.php");
// Формируем SQL-запрос
$query = "UPDATE articles SET hide='hide'
WHERE id_article=".$_GET['id_article'];
// Выполняем запрос
if(mysql_query($query))
{
// В случае успеха возвращаемся к списку статей
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh'
CONTENT='0; URL=index.php?id_page=".$_GET['id_page']."'>
</HEAD></HTML>";
}
else puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
?>
|
Ошибка при обращении к блоку статейYou have an error in your SQL syntax near '' at line 2 - UPDATE articles SET hide='hide' WHERE id_article=
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
<?php
// Соединяемся с базой данных
require_once("../config.php");
// Проверяем, нет ли изображений. Если есть — удаляем
$query = "SELECT * FROM paragraphes
WHERE id_article=".$_GET['id_article']." AND
'picture_small!='-' AND 'picture_small!=''";
$par = mysql_query($query);
if($par)
{
while($row =mysql_fetch_array($par))
{
if(is_file("../".$row['picture_small']))
unlink("../".$row['picture_small']);
if(is_file("../".$row['picture_big']))
unlink("../".$row['picture_big']);
}
} else puterror("Ошибка запроса к блоку статей".mysql_error()." - ".$query);
// Выполняем запрос на уничтожение параграфов и метаданных статьи
$query_par = "DELETE FROM paragraphes
WHERE id_article=".$_GET['id_article'];
$query_art = "DELETE FROM articles
WHERE id_article=".$_GET['id_article'];
if(mysql_query($query_par) && mysql_query($query_art))
{
// Осуществляем автоматический переход на главную страницу
// администрирования статей
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh'
CONTENT='0; URL=index.php?id_page=".$_GET['id_page']."'>
</HEAD></HTML>";
} else puterror("Ошибка при обращении к блоку статей".mysql_error()." - ".$query);
?>
|
Ошибка запроса к блоку статейYou have an error in your SQL syntax near 'AND 'picture_small!='-' AND 'picture_small!=''' at line 2 - SELECT * FROM paragraphes WHERE id_article= AND 'picture_small!='-' AND 'picture_small!=''
Заранее спасибо...!!! | |
| |
|
|