身份不明的财产;试图获得非对象的属性

时间:2011-09-01 12:37:07

标签: php html web

This is What I tend to see when I try to run it!

您好。我一直在尝试使用Savant Templating Engine创建一个PHP页面,它通过XAMPP执行一些CRUD操作。当我编写页面并尝试运行页面时,我发现上面出现的错误。但是当我分别将值插入文本框和textarea并点击发布按钮时,我发现数据库正在成功更新。上述问题的可能原因是什么?我如何摆脱这个问题。
我试图寻找相同的现有线程,但似乎没有一个解决我的问题。如果任何现有线程解决了我的问题,请引用下面的链接帮助。谢谢。 :)

----------------------------------------------- --------------更新----------------------------------- ---------------------------

view.html

<html>
    <head>
        <title>Create Post: Blog: Design & Social Media</title>
    </head>
    <body>
        <form action="../../applications/create/index.php" method="POST">
            <input type="text" name="title" value="<?php echo $this->b->title; ?>"/>
            <input type="submit" value="Publish" />
            <br/>
            <textarea rows="2" cols="20" name="content"><?php echo $this->b->content; ?></textarea>
        </form>
    </body>
</html>

的index.php

<?php
    include_once ('../../classes/models/blog.php');
    include_once ('../../resources/libraries/savant3.php');
    $s=new savant3();
    $s->method=$_SERVER['REQUEST_METHOD'];
    $b=new blog();
    if($_SERVER['REQUEST_METHOD']=="GET")
    {
    }
    else
    {
        $b->title=$_POST['title'];
        $b->content=$_POST['content'];
        Blog::create($b);
        header('location:../../applications/success/index.php');
        return;
    }
    $s->display('view.html');
?>

blog.php的

<?php
    class Blog
    {
        public $id;
        public $title;
        public $content;
        public $created;

        public static function create(Blog $b)
        {
            $title=$b->title;
            $content=$b->content;
            $m=new mysqli("localhost","root","","kartik_iyer");
            $s=$m->prepare("insert into blog values(null,?,?,null)");
            $s->bind_param('ss', $title, $content);
            $s->execute();
        }

        public static function readSingle($id)
        {
        }

        public static function readAll()
        {
        }

        public static function update(Blog $b)
        {
        }

        public static function delete($id)
        {
        }
    }
?>

1 个答案:

答案 0 :(得分:2)

您收到此消息是因为您的错误报告设置为-1 = error_reporting(-1);或至少已启用通知。这意味着,将显示所有可能的错误消息,尤其是通常未启用的通知。我刚刚在 this topic 中询问了错误报告 结论是,您应该编写符合最高标准的代码,但不应修复现有代码。

我建议找到该行,即将错误报告设置为-1将其删除。或者使用:error_reporting(E_ERROR | E_WARNING | E_PARSE);覆盖它。这会将其设置为默认值。

或者,您可以使用empty()isset()优化代码,或者将某些变量预设为NULL

无论如何,请阅读my link on Programmers,您将了解有关错误报告的必要知识。