Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Script da procedurale ad oggetti + MySql

    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!!!

  2. #2
    La classe si chiama post e quindi quando dichiaro l'oggetto vado a dichiarare la variabile $post!!!

    Soluzione trovata!!!

    :maLOL:

    Dopo 3 giorni!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.