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

    Problema apostrofo inviando una stringa tramite indirizzo

    Buongiorno a tutti,

    cerco di spiegarvi il mio problema in modo veloce e spero che possiate darmi una mano. Ho un database che contiene, tra gli altri, una colonna cognomi. Come record di questo colonna ho cognomi quali SANZO' o DELL'ANNA (cos� sono scritti letteralmente del DB mysql). In pratica ho una pagina che riporta un elenco di questi cognomi ognuno dei quali � cliccabile. Cliccando su un cognome si viene inviati ad una pagina che mostra l'elenco delle pratiche in carico al tizio selezionato traamite questo comando:


    codice:
    ...
    echo"<a href='../ppricerca.php?RICERCA=TRUE&&cognome=$cognome>$cognome</a>";
    ...
    Se il cognome ha un apostrofo sorgono i problemi. Cos� come � il codice l'apostrofo e tutto ci� che segue viene troncato. Ho provato in tutti i modi usando diversi comandi:

    codice:
    ...
    $cognome=addslashes($cognome);
    echo"<a href='../ppricerca.php?RICERCA=TRUE&&cognome=$cognome>$cognome</a>";
    ...
    RISULTATO = L'apostrofo � sostituito da / e tutto ci� che segue viene troncato

    codice:
    ...
    $cognome=addslashes($cognome);
    echo"<a href='../ppricerca.php?RICERCA=TRUE&&cognome=".stripslashes($cognome)."'>$cognome</a>";
    ...
    RISULTATO = quello iniziale

    Come posso fare per far si che l'apostrofo non mi crei problemi?

    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Usa la funzione urlencode()

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    112
    Puoi risolvere più facilmente in questo modo (segue un esempio banale):

    1) $pippo = "t'amo o pio bove! "; // Iniziando la stringa con le doppie virgolette e inserisci l'apostrofo normalmente.

    oppure:

    2) $pippo = "cosa significa \"peppino\"? "; // Facendo precedere lo \ prima della virgoletta più interna a quella che delimita la stringa;

    oppure:

    3) $pippo = "cosa significa &quot;peppino&quot;?"; // Usando le AMP.

    oppure più in generale, come ti è già stato detto sopra usando la codifica apposta per le stringhe.

  4. #4
    Intanto ringrazio tutti per le risposte... purtroppo potro' provare le vostre soluzioni solo mercoledí ma appena fatto vi faccio sapere il risultato.

    Grazie

  5. #5
    Codice PHP:
    echo"<a href='../ppricerca.php?RICERCA=TRUE&&cognome=$cognome>$cognome</a>"
    L'attributo href del tag "a" viene troncato perché lo racchiudi (o meglio lo apri ma non lo chiudi) tra apici singoli e un apostrofo è, appunto, un apice singolo
    Prova così:
    Codice PHP:
    echo "<a href=\"../ppricerca.php?RICERCA=TRUE&&cognome=$cognome\">$cognome</a>"

  6. #6
    Ho provato la soluzione di lucavizzi (in quanto mi evita di scrivere ulteriore codice) e funziona PERFETTAMENTE!! Un mio errore di giovinezza ma grazie a voi si impara in continuazione. Grazie a tutti per l'attenzione dedicatami.

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.