Sto cercando di passare tutti i miei vecchi script in una versione più moderna ma nonostante i miei tentativi incorro in un errore. Questo script fa da blog e benchè funzioni perfettamente se non strutturato ad oggetti quando provo a trasformarlo il testo del post del blog appare come "Object"!!! Perchè???

Classe
Codice PHP:
<?php

class post {

    var 
$server "";
    var 
$db_user "";
    var 
$db_pass "";
    var 
$database "";
    
    function 
bbformat ($commento) {
    
        
$commento htmlentities($commento);

        
$ricerca = array(
                    
'/\[b\](.*?)\[\/b\]/is',                                
                    
'/\[i\](.*?)\[\/i\]/is',                                
                    
'/\[u\](.*?)\[\/u\]/is',                                
                    
'/\[url\=(.*?)\](.*?)\[\/url\]/is',                         
                    
'/\[img\](.*?)\[\/img\]/is',                            
                    
'/\[mail\=(.*?)\](.*?)\[\/mail\]/is',
                    
'/\[quote\=(.*?)\](.*?)\[\/quote\]/is',                    
                    );

        
$sostituisci = array(
                    
'[b]$1[/b]',
                    
'[i]$1[/i]',
                    
'<u>$1</u>',
                    
'[url="$1"]$2[/url]',
                       
'[img]$1[/img]',
                    
'[email="$1"]$2[/email]',
                    
'<blockquote>$1</blockquote>',
                    );

        
$commento preg_replace ($simple_search$simple_replace$commento);

    }


    function 
scrivi ($titolo$categoria$post) {
    
        
$titolo trim($titolo);
        
$categoria trim($categoria);
        
$post trim($post);
        
        
mysql_connect($this->server$this->db_user$this->db_pass);
        
mysql_select_db($this->database);

        if (!
$titolo || !$categoria || !$post) {

            exit (
"Non hai compilato tutti i campi!");

            } else {

            
$query mysql_query("SELECT id FROM post WHERE titolo='$titolo'");
            
$result mysql_num_rows($query);

            if (
$result 0) {

                
mysql_close();
                exit (
"Post non valido! Hai gi&agrave; immesso questo post o il titolo &egrave; presente nel database.");

            } 
    
        }

        
$query mysql_query("INSERT INTO post (titolo, categoria, post) VALUES ('$titolo', '$categoria', '$post')");

        if (!
$query) {

            exit (
"Connessione al Database fallita, riprova pi&ugrave; tardi.");

        } else {

            echo (
"Post inserito correttamente!");

        }

    }

    function 
blog (){
        
        
mysql_connect($this->server$this->db_user$this->db_pass);
        
mysql_select_db($this->database);

        
$query mysql_query("SELECT id, titolo, categoria, post, DATE_FORMAT(data, '%d/%m/%y') AS timestamp FROM post ORDER BY id DESC");

        while(
$array mysql_fetch_array($query)){

            echo (
"<h1>$array[titolo] ($array[categoria]$array[timestamp]</h1>$array[post]

<a href=\"postsolo.php?id=
$array[id]\">Only this post!!!</a></p><hr />");

        }
    
    }
    
    function 
postsolo ($id) {
    
        
mysql_connect($this->server$this->db_user$this->db_pass);
        
mysql_select_db($this->database);
    
        
$query mysql_query("SELECT id, titolo, categoria, post, DATE_FORMAT(data, '%d/%m/%y') AS timestamp FROM post WHERE id='$id'");
        
$array mysql_fetch_array($query);

        echo (
"<h1>$array[titolo] ($array[categoria]$array[timestamp]</h1>$array[post]<hr />");

        
mysql_close($db);
    
    }
    
}

$post = new post;

?>
Form post
Codice PHP:
<?php

require ("utenti.php");
    
$utenti->is_logged();

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
</head>

<body>
<form id="posting" name="posting" method="post" action="/posted.php">
  <label>Titolo:
  <input name="titolo" type="text" id="titolo" />
  </label>
  


    <label>Categoria:
    <input name="categoria" type="text" id="categoria" />
    </label>
  </p>
  


    <label>Post:
    <textarea name="post" id="post"></textarea>
    </label>
</p>
  


    <label>
    <input type="submit" name="Submit" value="Invia" />
    </label>
  </p>
</form>
</body>
</html>
L'action del form
Codice PHP:
<?php

require("post.php");

$post->scrivi($titolo$categoria$post);

?>
Risultato??? Nel database mi scrive un bel "Object"! Ho provato a stampare ed ho notato che Object compare appena la variabile $post viene passata alla classe... perchè???

Vi posto anche il file non ad oggetti che è del tutto simile:
Codice PHP:
<?

include("connection.php");

$titolo trim($_POST["titolo"]);
$categoria trim($_POST["categoria"]);
$post trim($_POST["post"]);

mysql_connect($db_host$db_user$db_password);
mysql_select_db($db_name);

if (!
$titolo || !$categoria || !$post) {

    exit (
"Non hai compilato tutti i campi!");

} else {

    
$query mysql_query("SELECT id FROM post WHERE titolo='$titolo'");
    
$result mysql_num_rows($query);

    if (
$result 0) {

        
mysql_close();
        exit (
"Post non valido! Hai gi&agrave; immesso questo post o il titolo &egrave; presente nel database.");

    } 
    
}
    

$query mysql_query("INSERT INTO post (titolo, categoria, post) VALUES ('$titolo', '$categoria', '$post')");

if (!
$query) {

    exit (
"Connessione al Database fallita, riprova pi&ugrave; tardi.");

} else {

    echo (
"Post inserito correttamente!");

}


?>
Spero non sia un errore a ca**o... Grazie 1000!!!