Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problema sintassi

  1. #1

    problema sintassi

    salve,
    ho creato una classe per inserire post nel forum (smf)
    solo che oggi l'ho voluta modificare un po aggiungendo alcune funzioni (Tutorial)

    ecco il codice
    Codice PHP:
    <?
    /*    
    Licenza:
    Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia.
    Per leggere una copia della licenza visita il sito web [url]http://creativecommons.org/licenses/by-nc-sa/2.5/it/[/url] o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.       
    --------------------------------
    Autore: Arminio Patrick
    Sito web: [url]www.patrick91.it[/url]
    For: smf version 1.1.2

    ENGLISH
    Copyright:

    This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.5 Italy License.
    To view a copy of this license, visit [url]http://creativecommons.org/licenses/by-nc-sa/2.5/it/[/url] or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
    --------------------------------
    Autor: Arminio Patrick
    Website: [url]www.patrick91.it[/url]
    For: smf version 1.1.2
    */

    class smf {
    //variabili
        
    var $sticky// 1 id is Sticked
        
    var $id_categoria//id of the board
        
    var $id_membro//member id 
        
    var $oggetto//subject
        
    var $corpo//body of the message
        
    var $descrizionetutorial;
        var 
    $contenutotutorial;
        var 
    $descrizionetutorial;

    //funzione per recuperare i dati dell'utente
        
    private function datiUser() {
    //query per le info dell'user
        
    $post_utente "SELECT * FROM smf_members WHERE ID_MEMBER = '$this->id_membro'";
    //eseguo la query
        
    $row_post_utente mysql_query($post_utente);
    //metto in un array associativo i dati dell'utente
        
    $datiUser mysql_fetch_assoc($row_post_utente);
        return 
    $datiUser;
        }

    //funzione per aggiornare i post dell'utente
        
    private function aggiornaDatiUser($post_vecchi) {
    //aggiungo uno al numero di post dell'utente
        
    $post_aggiornati $post_vecchi 1;
    //query
        
    $aggiorna_post_user "UPDATE smf_members SET posts = '$post_aggiornati' WHERE ID_MEMBER = '$this->id_membro'";
    //eseguo la query
        
    mysql_query($aggiorna_post_user);    
        }

    //funzione per recuperare i dati della categoria
        
    private function datiBoard() {
    //query per le info della categoria
            
    $info_board "SELECT * FROM smf_boards WHERE ID_BOARD = '$this->id_categoria'";
    //eseguo la query
            
    $row_board mysql_query($info_board);
    //metto in un array associativo i dati della categoria
        
    $datiBoard mysql_fetch_assoc($row_board);
        return 
    $datiBoard;
        }

    //funzione per aggiornare i dati della categoria (post, topic, ultimo msg)
        
    private function aggiornaDatiBoard($post_board_vecchi$topic_board_vecchi$id_msg) {
    //aggiungo uno al numero di post dell'utente
        
    $post_board_aggiornati $post_board_vecchi 1;
        
    $topic_board_aggiornati $topic_board_vecchi 1;
    //query
        
    $aggiorna_board "UPDATE smf_boards SET ID_LAST_MSG = '$id_msg', numTopics = '$topic_board_aggiornati', numPosts = '$post_board_aggiornati' WHERE ID_BOARD = '$this->id_categoria'";
        
    mysql_query($aggiorna_board);    
        }

    //funzione per inserire il TOPIC e generare l'id
        
    private function inserisciTopic() {
    //creo la query per inserire il topic
        
    $query_topic "INSERT INTO smf_topics (isSticky, ID_BOARD, ID_MEMBER_STARTED) VALUES ('$this->sticky', '$this->id_categoria', '$this->id_membro')";
    //avvio la query
        
    mysql_query($query_topic);
    //recupero l'id
        
    $id_topic mysql_insert_id();
        return 
    $id_topic;
        }

    //funzione per inserire il MESSAGGIO e generare l'id
        
    private function inserisciMsg($id_topic$nome_membro$corpo) {
    //orario
        
    $orario mktime();
    //indirizzo IP
        
    $ip $_SERVER['SERVER_ADDR'];
    //creo la query per inserire il messaggio
        
    $query_msg "INSERT INTO smf_messages (ID_TOPIC, ID_BOARD, posterTime, ID_MEMBER, subject, posterName, posterIP, body, icon) VALUES ('$id_topic', '$this->id_categoria', '$orario', '$this->id_membro', '$this->oggetto', '$nome_membro', '$ip', '$corpo', 'xx')";
    //avvio la query
        
    mysql_query($query_msg);
    //recupero l'id per indicare al topic il post di inizio e di fine :| che sono uguali, almeno per la prima volta :P
        
    $id_msg mysql_insert_id(); 
        return 
    $id_msg;
        }

    //funzione per per aggiornare il TOPIC
        
    private function aggiornaTopic($id_msg$id_topic) {
    //query
        
    $aggiorna_topic "UPDATE smf_topics SET ID_FIRST_MSG = '$id_msg', ID_LAST_MSG = '$id_msg' WHERE ID_TOPIC = '$id_topic' LIMIT 1";
    //avvio la query
        
    mysql_query($aggiorna_topic);
        }

    //funzione per inserire il Tutorial
        
    private function inserisciTutorial() {
        
    $inseriscitutorial "ISERT INTO tutorial (descrizione, contenuto, id_autore) VALUES ('$this->descrizionetutorial', '$this->contenutotutorial', '$this->id_membro')";
        
    mysql_quey()
        
    $id_tutorial mysql_insert_id($inseriscitutorial); 
        return 
    $id_tutorial;
        }

    //funzione per aggiornare il Tutorial
        
    private function aggiornaTutorial($idtutorial$idpost) {
    //query
        
    $aggiorna_tutorial "UPDATE tutorial SET link = '$idpost' WHERE id = '$idtutorial' LIMIT 1";
    //avvio la query
        
    mysql_query($aggiorna_tutorial);
        }


    //funzione per inserire il topic e il messaggio
        
    function vai() {
    //prendi i dati dell'user
        
    $informazioni_user $this->datiUser();    
    //nome
        
    $nome_user $informazioni_user['memberName'];
    //post
        
    $post $informazioni_user['posts'];
    //email
        
    $email $informazioni_user['emailAdress'];
    //id topic
        
    $id_topic $this->inserisciTopic();
    //aggiorna i post dell'utente
        
    $this->aggiornaDatiUser($post);
    //id messaggio
        
    $id_msg $this->inserisciMsg($id_topic$nome_user$this->corpo);
    //aggiorna il topic
        
    $this->aggiornaTopic($id_msg$id_topic);
    //dati Board
        
    $dati_board $this->datiBoard();
    //post
        
    $post_board $dati_board['numPosts'];
    //topic
        
    $topic_board $dati_board['numTopics'];
    //aggiorna la board
        
    $this->aggiornaDatiBoard($post_board$topic_board$id_msg);
        }

    //funzione per inserire il topic e il messaggio
        
    function vaiTutorial() {
    //prendi i dati dell'user
        
    $informazioni_user $this->datiUser();    
    //nome
        
    $nome_user $informazioni_user['memberName'];
    //post
        
    $post $informazioni_user['posts'];
    //email
        
    $email $informazioni_user['emailAdress'];
    //id topic
        
    $id_topic $this->inserisciTopic();
    //aggiorna i post dell'utente
        
    $this->aggiornaDatiUser($post);
    //inserisce il tutorial e prende l'id
        
    $idtutorial$this->inserisciTutorial();
        
    $body $this->corpo;
        
    $body .= "Link: [url]http://www.inkscapeitalia.org/tutorial/?tut=[/url]$idtutorial";
    //id messaggio
        
    $id_msg $this->inserisciMsg($id_topic$nome_user$body);
    //aggiorna il topic
        
    $this->aggiornaTopic($id_msg$id_topic);
    //dati Board
        
    $dati_board $this->datiBoard();
    //post
        
    $post_board $dati_board['numPosts'];
    //topic
        
    $topic_board $dati_board['numTopics'];
    //aggiorna la board
        
    $this->aggiornaDatiBoard($post_board$topic_board$id_msg);
    //aggiorna il tutorial
        
    $this->aggiornaTutorial($idtutorial$id_topic);
        }
    }

    ?>
    solo che quando vado ad creare la classe con lo script
    Codice PHP:
            require_once('class.php');
            
    $categorie $_POST[categorietutorial];
            
    $descrizione $_POST[descrizionetutorial];
            
    $contenuto $_POST[contenutotutorial];
            
    $smf = new smf();
            
    $smf->sticky "0"// 1 id is Sticked
            
    $smf->id_categoria "8"//id of the board
            
    $smf->id_membro $context['user_info']['id']; //id of the member
            
    $smf->oggetto "[$categorie$descrizione"//subject
            
    $smf->corpo =  "&Egrave; stato inserito un nuovo tutorial:
    $descrizione
    "
    //body of the message
            
    $smf->vaiTutorial(); 
    ottengo questo errore
    codice:
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/mhd-01/www.inkscapeitalia.org/htdocs/tutorial/class.php on line 34
    mi aiutate?

  2. #2
    potresti indicarmi la riga incriminata? non riesco a contarle da qui...
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  3. #3
    certo
    anzi ti posto il codice su phpfi
    http://phpfi.com/245007

    cmq non credo che l'errore sia relativo a quella riga perchè se commento la funzione incriminata passa alla funzione successiva (l'errore) cmq grazie per la risposta

  4. #4
    allora mi hanno detto di controllare che versione di php ho e ho controllato
    ho la versione 4.4.4
    quindi devo modificare lo script per adattarlo a php
    solo che non so come fare

    lo script è qui
    http://phpfi.com/245112

    mi aiutate a farlo?


    Ps se qualche moderatore potesse cambiare il titolo al topic gliene sarei grato

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 © 2025 vBulletin Solutions, Inc. All rights reserved.