• User

    come mai php recupera una parte della variabile?

    come mai in questo codice $monumento recupera il valore corretto ovunque tranne che in title='$monumento'?....mi spiego meglio! se $monumento è uguale a "Porta Romana" il title recupera solo la parola Porta mentre '.$monumento.' recupera il valore completo....
    come mai??

    [php]
    <?php
    $sql_mon = "SELECT monumento, descrizione, foto, itinID FROM tbl_monumenti WHERE $itin = itinID";
    $query_mon = mysql_query($sql_mon);
    while (list($monumento, $descrizione, $foto) = mysql_fetch_row($query_mon))
    {
    $descrizione = preg_replace("/([a-zA-Z]+://[a-z0-9_.-]+".
    "[a-z]{2,6}[a-zA-Z0-9/*_-?&%=,.]+)/", '<a href="$1" style="text-decoration:
    underline;background:none;display:inline;padding:0;margin:0;font-size:12px;" target="_blank">sito ufficiale</a>', $descrizione);
    if ($foto != "")
    {
    echo '<a href="'.$foto.'" rel="lightbox" style="text-decoration:underline;display:inline;margin:0;font-size:12px;" title='.$monumento.'>'.$monumento.'</a>:'.$descrizione.'<br><br>'; }
    else
    {................. ?> [/php]


  • Consiglio Direttivo

    Ciao thenax
    benvenuto anche tu nel mondo della svista 😄
    errore comune che commetto spesso e volentieri......

    Il discorso è semplice, prova a pensare quale sia il risultato HTML di questo pezzo:
    [php]<?
    echo '..... style="quellacosalì" title='.$monumento.'>....';
    ?>[/php]
    ..... ci hai pensato :)?
    ebbene si è proprio quello che hai pensato (che comunque puoi verificare guardando il sorgente della pagina):
    [html]...... style="quellacosalì" title=Porta Romana>[/html]
    Noti nulla di strano :D?
    Già......il title prende il valore di porta, ma poi....c'è uno spazio, quindi si cambia attributo 😉 (non riconosciuto quindi ti ritrovi un Romana viaggiate per tutto il codice pronto a fiondarsi nel primo buco che trova XD)
    Come tutti gli altri attributi, il valore dello stesso va incluso entro doppi apici 😉
    Puoi risolvere o mettendo i doppi apici:

    [php]<?
    echo '..... style="quellacosalì" title="'.$monumento.'">....';
    ?>[/php]
    così avrai il seguente HTML come risultato:
    [html]...... style="quellacosalì" title="Porta Romana">[/html]
    oppure cambiare gli apici dell'echo con i doppi apici ed eliminare la chiusura e riapertura dela stringa:
    [php]<?
    echo "..... style="quellacosalì" title="$monumento">$monumento....";
    ?>[/php]
    Ma non devi lasciare gli apici senno' invece del valore contenuto da $monumento visualizzerai materialmente la stringa $monumento 😉

    Come riferimento puoi dare un'occhiata anche alle FAQ 😉