[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Call to a member function
RCuPeR
Всем привет.
Надумал прикрутить форму регистрации к своему сайту. Всё отлично работает, но есть небольшая проблемка. Хочу отделить просмотр комментов от юзеров которые ввошли и которые ещё только собираются, прописал всё как нужно (по-крайней мере я так думаю), а оно ошибку выдаёт:
Fatal error: Call to a member function getSessionInfo() on a non-object in Y:\home\new.ru\www\view_post.php on line 97.
Гугл нормального ответа не дал. Думаю, может Вы поможете.
Вот сам файлик view_post.php:
Свернутый текст

<?php

require_once 'php/core.php';

$objCore = new Core();

$objCore->initSessionInfo();
$objCore->initFormController();

include 'blocks/db.php';

if (isset ($_GET['id'])) {$id = $_GET['id']; }
if (!isset ($id)) {$id = 1; }

$result = mysql_query ("SELECT * FROM data WHERE id='$id'",$db);

if (!$result)
{
echo "<p>Вот БляТь, не работает. Сообщите об этом администратору cuper2@mail.ru <br><strong>Код ошибки: </strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($result)>0)
{
$myrow = mysql_fetch_assoc ($result);

/* Количество просмотров */
$view = $myrow['view'] +1;

$udate = mysql_query("UPDATE data SET view='$view' WHERE id='$id'",$db);
/* Конец */
}
else
{
echo "<p>Информация по запросу не может быть извлечена, в таблице нет записей.</p>";
exit();
}


?>

<!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">
<
script type="text/JavaScript" src="js/rounded_corners.inc.js"></script>
<
script type="text/JavaScript">
window.onload = function() {
settings = {
tl: { radius: 10 },
tr: { radius: 10 },
bl: { radius: 10 },
br: { radius: 10 },
antiAlias: true,
autoPad: true
}
var myBoxObject = new curvyCorners(settings, "rounded");
myBoxObject.applyCornersToAll();
}
</script>
<
title><?php echo htmlspecialchars($myrow["title"]); ?></title>
<
link href="css/style.css" rel="stylesheet" type="text/css">
<
meta name="description" content="<?php echo htmlspecialchars($myrow["meta_d"]);?>">
<
meta name="keywords" content="<?php echo htmlspecialchars($myrow["meta_k"]);?>">
</
head>
<
body>

<
table width="1000" border="0" align="center">
<
tr>
<?php include 'blocks/menu(lava).php'?>
</tr>
<
tr>
<
td><table width="994" border="0">
<
tr>
<
td width="223" valign="top" class="lefttd">
<?php include 'blocks/lefttd.php'?>
</td>
<
td width="761" valign="top" class="center">
<?php

printf ("<p class='post_zagolovok'>%s</p><p class='post_date'>Дата: %s</p><p class='post_date'>Автор: %s</p>%s<p class='post_date'>Количество просмотров: %s</p>",$myrow["title"], $myrow["date"],$myrow["author"],$myrow["text"], $myrow["view"]);


echo "<p class='post_comment'>Комментарии: </p>";

$result3 = mysql_query ("SELECT * FROM comments WHERE post='$id'", $db);

if (mysql_num_rows ($result3) > 0)
{
$myrow3 = mysql_fetch_array ($result3);

do {
printf ("<div class='bubble'><div class='rounded'><p class='post_comment_title'>Комментарий добавил(а): <strong>%s</strong> (%s)</p><p class='post_comment_text'>%s</p></div></div>", $myrow3["author"], $myrow3["date"], $myrow3["text"]);
}
while ($myrow3 = mysql_fetch_array ($result3));
}

if($objCore->getSessionInfo()->isLoggedIn()) - вот эта угрюмая строка!
{ echo "
<a name='comments'></a>
<p class='post_comment'>Добавить Ваш комментарий:</p> "
;

echo "<p>Для добавления комментариев нужно зарегистрироватся!</p>";

}
else
{

echo "<form action='comment.php' method='post' name='form_com'>

<p><label>Ваше имя: </label><input name='author' type='text' class='pole' size='30' maxlength='40'></p>

<p><label>Текст комментария: <br><textarea name='text' class='pole' cols='63' rows='6'></textarea></label></p>

<input name='id' type='hidden' value='<?php echo
$id; ?>'>

<p><input name='sub_com' type='submit' value='Комментировать'></p>
</form> "
;


}

?>

</td>
</
tr>
</
table></td>
</
tr>
<
tr>
<?php include 'blocks/footer.php'?>
</tr>
</
table>
</
body>
</
html>




Спустя 12 минут, 24 секунды (11.11.2010 - 22:16) SlavaFr написал(а):
зделай после
include 'blocks/db.php';

var_dump($objCore);

и попробуй разрабратся пoчему $objCore не является больше обэктом

Спустя 11 минут, 28 секунд (11.11.2010 - 22:27) RCuPeR написал(а):
О Боги!
А можно чуть по-проще?
По не сильно в этом рублю...

Спустя 1 минута, 52 секунды (11.11.2010 - 22:29) Invis1ble написал(а):
RCuPeR
Цитата
echo "<p>Вот БляТь, не работает. Сообщите об этом администратору cuper2@mail.ru <br><strong>Код ошибки: </strong></p>";

жесть laugh.gif
Это ты реально юзеру на своем сайте такие ошибки выдаешь?

Спустя 52 секунды (11.11.2010 - 22:30) RCuPeR написал(а):
Ну то такое... Формальности...

Спустя 2 минуты, 57 секунд (11.11.2010 - 22:33) SlavaFr написал(а):
Цитата (Invis1ble @ 11.11.2010 - 19:29)
Это ты реально юзеру на своем сайте такие ошибки выдаешь?

а мог бы и шашкой рубануть

Спустя 2 минуты, 42 секунды (11.11.2010 - 22:36) RCuPeR написал(а):
Народ, оффтоп!
Давайте ближе к делу.

Спустя 13 минут, 34 секунды (11.11.2010 - 22:49) SlavaFr написал(а):
Цитата (RCuPeR @ 11.11.2010 - 19:36)
Давайте ближе к делу.

ну так я по делу написал уже. Как проще написать не знаю.
Гдето твой обэкт $objCore разрушаетсй и чтоб определить где, надо var_dump($objCore);
делать пока не найдеш место где $objCore не является больше обэктом

Спустя 4 минуты, 10 секунд (11.11.2010 - 22:53) RCuPeR написал(а):
Что такое var_dump($objCore); ?
Прописал я его где нужно, ошибка осталась и помимо того в самом верху страницы выбило:

object(Core)#1 (6) { ["url:private"]=> string(14) "/view_post.php" ["referrer:private"]=> string(13) "/view_cat.php" ["sessioninfo:private"]=> object(SessionInfo)#2 (5) { ["username:private"]=> string(1) "1" ["userkey:private"]=> string(1) "1" ["userid:private"]=> string(32) "ec61cde82a954aaae0564f9e3998bca9" ["logged_in:private"]=> bool(true) ["userinfo:private"]=> array(3) { ["pk_user"]=> string(1) "1" ["email"]=> string(20) "rcupershop@gmail.com" ["usr_userid"]=> string(32) "ec61cde82a954aaae0564f9e3998bca9" } } ["dbcontroller:private"]=> object(DBController)#3 (1) { ["link:private"]=> object(mysqli)#4 (0) { } } ["formcontroller:private"]=> object(FormController)#5 (3) { ["values:private"]=> array(0) { } ["errors:private"]=> array(0) { } ["num_errors:private"]=> int(0) } ["mailer:private"]=> NULL }

Спустя 5 минут, 34 секунды (11.11.2010 - 22:59) SlavaFr написал(а):
Цитата (RCuPeR @ 11.11.2010 - 19:53)
Что такое var_dump($objCore); ?

http://www.php.net/manual/en/function.var-dump.php
как ты видеш, пишет object(Core)
значит в этом месте все нормально и надо искать дальше где обэкт разрушается.
т.е переноси строчку с var_dump ниже и так до тех пор, пока нужное место не найдеш.

Спустя 1 минута, 37 секунд (11.11.2010 - 23:01) RCuPeR написал(а):
Извини, вообще догнать не могу.
"переноси строчку с var_dump ниже и так до тех пор, пока нужное место не найдеш." - что должно показать ?!

Спустя 2 минуты, 51 секунда (11.11.2010 - 23:03) SlavaFr написал(а):
должно показать, что это не обйект
зделай к примеру
var_dump($objCore);
в строчке 96

Спустя 6 минут, 46 секунд (11.11.2010 - 23:10) RCuPeR написал(а):
Пишет NULL.

Спустя 1 час, 31 минута, 9 секунд (12.11.2010 - 00:41) SlavaFr написал(а):
Цитата (RCuPeR @ 11.11.2010 - 20:10)
Пишет NULL.

ну вот это означает, что гдето между строчками 1 и 96 твой обект превращается в НУЛЛ и по этому надо тебе найти это самое место, где он с Object в NULL превращается. Для этого вызывай var_dump. Когда это место найдеш, то можно дальше в причинах копатся.

Спустя 19 минут, 53 секунды (12.11.2010 - 01:01) Invis1ble написал(а):
RCuPeR
Цитата
include 'blocks/db.php';

возможно здесь проблема. попробуй после этой строки var_dump добавить

Спустя 48 минут, 54 секунды (12.11.2010 - 01:50) RCuPeR написал(а):
Спасибо всем кто подал руку утопающему.

Но как говорится: "Спасение утопающих-дело рук самих утопающих". =)
Проблему нашёл и обезвредил.
Объяснять не буду что к чему, долго очень, но если кого-то заинтересует - опишу всё в деталях =)


_____________
Гнусный социопат с комплексом Бога.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.