Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17

    Ennesimo problema T_STRING

    Ciao a tutti, ho il solito problema unexpected T_STRING, ma non riesco proprio a trovare il punto che lo infastidisce.

    La riga interessata è questa, ma a me sembra tutto corretto:


    Codice PHP:
    $final_button '[url="index.php?page='.$menu_option.'"][img]images/'.$menu_option.'_off.jpg[/img][/url]
    '


    Dov'è l'errore?



    PS: da come evidenzia le variabili sembra che sia il solito errore di apici, eppure se quotate il post e guardate il codice, vedrete che gli slash li ho messi :master:

  2. #2
    ciao,
    c'erano alcuni apici in più. La seguente funziona:

    Codice PHP:
    $final_button "[url='index.php?page=" $menu_option ."'][img]images/" $menu_option "_off.jpg[/img][/url]
    "

    personalmente ti consiglio di usare sempre i doppi apici per contenere una stringa e usare l'apice singolo per gli attributi dei tag html, almeno che tu non abbia alternative.
    Infatti ti permetto anche di inserire direttamente delle variabili php senza necessariamente utilizzare l'operatore di concatenamento.

    Spero di essere stato d'aiuto!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17
    Grazie per la risposta.

    Sono un po' noob con il php, ho sempre usato i doppi apici per l'hmtl e di solito uso i singoli per il php, commentandoli con il backslash quando sono di troppo. Gli apici che tu hai tolto sono quelli del javascript, che però avevo commentato con il backslash quindi è strano che non funzionassero.

    Ho provato con il tuo suggerimento ma non funziona comunque, può darsi perché la variabile genera una stringa sbagliata? Ti posto la funzione in cui è inserita quella riga:


    (La funzione è il tentativo di ridurre il codice di una funzione che al momento funziona come switch per ogni voce del menu )

    Codice PHP:
        function for_menu(){
        
            echo 
    '<div class="menu">';
            
            
            
    $menu_array = array('home','ius','subs','links','mail','info');
        
            foreach (
    $menu_array as $menu_option){
                
                if (
    $_GET['page'] == $menu_option){
                        
    $final_button '[img]images/'.$menu_option.'_check.jpg[/img];
                }
                    else{
                        $final_button = "[url='
    index.php?page=" . $menu_option ."'][img]images/" . $menu_option . "_off.jpg[/img][/url]
    ";
                    }
                    
                echo $final_button;
            }
            
            echo '
    </div>';
            
        } 


    PS: il tag php del forum dà errore anche adesso...

  4. #4
    Codice PHP:
    function for_menu(){
        
            echo 
    '<div class="menu">';
            
            
            
    $menu_array = array('home','ius','subs','links','mail','info');
        
            foreach (
    $menu_array as $menu_option){
                
                if (
    $_GET['page'] == $menu_option){
                        
    $final_button "[img]images/" $menu_option "_check.jpg[/img]";
                }
                    else{
                        
    $final_button "[url='index.php?page=" $menu_option ."'][img]images/" $menu_option "_off.jpg[/img][/url]
    "
    ;
                    }
                    
                echo 
    $final_button;
            }
            
            echo 
    '</div>';
            
        } 
    adesso è sintatticamente corretto. Avevi fatto lo stesso errore di apici nella riga sopra. Non ho controllato però se fa quello che vorresti.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17
    Come temevo... il codice ora funziona ma il contenuto del javascript generato non si attiva se non ci sono quegli apici.

    Scusa, ma se io metto i backslash davanti agli apici, non dovrebbe funzionare lo stesso?

    esempio:

    Codice PHP:
    $variabile ' stringa con \'apici\' '

    E poi la riga di sopra non ha mai dato errore. Il T_STRING me lo segnala comunque alla riga dell'else...

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17
    Trovato! In un certo senso avevo ragione io... la riga che ho postato all'inizio era corretta, per forza non ci vedevo nessun errore! L'apice mancante era alla fine della riga soprastante, che quindi non si chiudeva e causava un errore che PHP mi indicava essere su di un'altra riga


    Codice corretto:


    Codice PHP:
        function for_menu(){
        
            echo 
    '<div class="menu">';
            
            
            
    $menu_array = array('home','ius','subs','links','mail','info');
        
            foreach (
    $menu_array as $menu_option){
                
                if (
    $_GET['page'] == $menu_option){
                        
    $final_button '[img]images/'.$menu_option.'_check.jpg[/img]'
                }
                    else{
                        
    $final_button '[url="index.php?page='.$menu_option.'"][img]images/'.$menu_option.'_off.jpg[/img][/url]
    '
    ;
                    }
                    
                echo 
    $final_button;
            }
            
            echo 
    '</div>';
            
        } 

    Adesso funziona tutto correttamente

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.