Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154

    stampa variabile in url

    Salve, ho un problema che non riesco a capire con la stampa delle variabili nell'url. In pratica ho un array che ciclo per costruire dei link verso altre pagine.
    codice:
    foreach ($links as $link) { ?>
    <? echo $link['link_title']; ?>
    <? } ?>
    In questo modo funziona tutto bene: $link['link_url'] è un codice alfanumerico tipo AA2013GNHHSRU. In questo modo l'url generato è corretto; se visualizzo il codice html infatti il link è come mi aspetto, ad esempio
    codice:
    Titolo del link
    Se invece provo a mettere un url davanti nel codice php
    codice:
    foreach ($links as $link) { ?>
    <? echo $link['link_title']; ?>
    <? } ?>
    succede questo:
    codice:
    Titolo del link
    In pratica mi mette questa sequenza di caratteri: %1F%08%05%15 davanti e non riesco a venirne a capo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2013
    residenza
    Perugia
    Messaggi
    23
    Prova cosi

    Codice PHP:
    foreach ($links as $link) {
    echo 
    "<a href=\"www.sitoesempio.it/paginadestinazione.php?id_pagina={$link['link_url']}\">{$link['link_title']}</a>";


  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    Ciao, ti ringrazio per la risposta.
    Provato ma niente, sempre lo stesso risultato.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    Nessuno che può darmi una mano?

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Hai provato a guardare il contenuto del campo nella tabella ?
    Il problema c'è per tutti i records ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    Il contenuto dell'array è questo:
    codice:
    Array
    (
        [0] => PO20130803KELKEL
        [1] => AR20130803AOIAOI
        [2] => DI20130803VCEVCE
        [3] => PR20130803MRSMRS
        [4] => SP20130803GOAGOA
        [5] => PO20130804CPHCPH
        [6] => FA20130804VCEVCE
        [7] => PR20130804GOAGOA
        [8] => PR20130805NAPNAP
        [9] => SP20130805BCNBCN
        [10] => FA20130805BRIBRI
        [11] => SP20130806VLCVLC
    )
    Ho provato ad utilizzare trim e robe simili per cercare di eliminare spazi qualora ci fossero ma niente, se stampo la variabile senza url tutto bene, se gli metto un url davanti mi dà quella sequenza di caratteri.

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Allora.
    La cosa è abbastanza complicata da spiegare.

    Ho copiato il contenuto dell'array che hai postato.

    Nota che hai uno spazio tra => e PO20130803KELKEL. Mentre quando ho incollato mi sono ritrovato con 4 spazi (vedi qua sotto)
    Codice PHP:
        $A = array();
        
    $A[0] =     'PO20130803KELKEL'
    Warning: Unexpected character in input: '' (ASCII=30) state=0 in - on line 28

    Warning: Unexpected character in input: '' (ASCII=15) state=0 in - on line 28

    Warning: Unexpected character in input: '' (ASCII=5) state=0 in - on line 28

    Warning: Unexpected character in input: '' (ASCII=21) state=0 in - on line 28

    Togliendo uno spazio ottengo

    Warning: Unexpected character in input: '' (ASCII=30) state=0 in - on line 28

    Warning: Unexpected character in input: '' (ASCII=15) state=0 in - on line 28

    Warning: Unexpected character in input: '' (ASCII=5) state=0 in - on line 28

    Togliendo un altro ottengo

    Warning: Unexpected character in input: '' (ASCII=30) state=0 in - on line 28

    Warning: Unexpected character in input: '' (ASCII=15) state=0 in - on line 28


    Etc... Fino a togliere tutti ed ottenere un risultato senza errore.

    Quindi il problema viene da i tuoi dati.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    Risolto così:
    codice:
    preg_replace('/[\x00-\x1F\x80-\xFF]/', '',$link);
    In questo modo ho rimosso tutti i caratteri ascii. Ero convinto che si trattasse solo di spazi vuoti e avevo provato con trim, che ovviamente non funzionava. Ti ringrazio badaze, senza il tuo aiuto non ci sarei arrivato.

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.