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

    Problemi inserimento dati da form a php e Mysql

    Salve a tutti ho un quesito da sottoporvi, in un azione di invio dati da un form, arriva in una pagina php che elabora le informazioni inviate, e trasforma in entità html il testo inseirto in questo modo.

    Codice PHP:
     $testo=htmlentities($testoENT_QUOTES); 
    E l'inserimento per molti utenti avviene in modo corretto, trasformando al volo ciò che gli si passa.

    Poi ho scoperto che tre utenti su 100 invece hanno problemi, quando inviano il testo non viene elaborato come dovrebbe, e inserisce le informazioni così come gli vengono passate, causando infine una lettura di queste in modo errato, e quindi visualizzando i punti di domanda negli apostrofi e negli accenti :master:

    Quindi ho provato a fare in quest'altro modo:

    Codice PHP:
    $testo=htmlentities($testoENT_NOQUOTES);
    $testo=trim(addslashes(stripslashes($testo))); 
    La cosa migliora solo di poco, gli accenti vengono interpretati, ma i caratteri tipo apostrofi e linette antepone ancora i punti di domanda, e nella banca dati si nota pienamente amcora l'inserimento in modalità testo normale.
    Ripeto che l'inserimento ambiguo riguarda solo 3 persone su 100, ma vorrei che anche quelle 3 non avessero problemi.

    fatemi sapere su qeusta stranezza, perchè ne sto uscendo pazzo

  2. #2

  3. #3
    Non ce qualche buon anima che sa il perchè di questo problema?

  4. #4
    Up Up Up VVoVe:

  5. #5
    Uo Up Up
    Una manina anche picccina?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    28
    Non penso di aver afferrato esattamente il punto.

    Comunque... se il problema è che non riesci a fare una query sql per via degli accenti, degli apostrofi o di qualunque altro "simpatico" carattere particolare... potrei consigliarti l'utilizzo di: str_replace.

    Questa funzione mi ha risolto spesso problemi simili a quello che penso abbia anche tu.
    Prova a dargli un occhio.

    Spero di esserti stato utile.
    Teo

  7. #7
    Grazie della risposta
    Il fatto e che con str_replace mi tooca fare tutta la lista dei caratteri acentati e apici, liniete e altri caratteri, quindi fare una mapa di tutta una tastiera.
    Per questo mi è venuto in mente di usare htmlentities che converte tutto al volo in formato leggibile per le pagine web risparmiandomi di scrivere chilometri di codice.

    Il problema riscontrato però è molto particolare nel suo genere, perchè non tuti gli user che scrivono dalla propria postazione viene intepretato in modo conforme.

    Ad esempio, io scrivo del testo e lo invio, la pagina che lo riceve lo elabora e lo mette nel db, quindi poi viene letto come succede nei forum.
    Solo che non sempre viene eseguito, ad esempio ho 2 o 3 utenti su 100 che quando scrivono qualcosa non viene elaborato da questa pagina.

    Quindi penso il problema sia dovuto alla loro tastiera o pc, non so forse sto solo andando a tentoni, poichè non riesco a spiegarmi l'inconveniente.
    Le guide su php, non fanno nesun riferimento a simili errori :master:

    Secondo te quale potrebbe essere?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    28
    Se il problema è dell'utente... magari riguarda il charset da utilizzare impostato di default nella pagina web.

    Spesso, con programmi come Dreamweaver, viene utilizzato di default il charset utf-8.
    Ma alcuni caratteri non sono compresi.

    Prova magari a impostare (se non l'hai già fatto) l'ISO-8859-1.

    codice:
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1" />
    Sappi, comunque, che a suo tempo nonostante questa "precisazione" a livello del codice ho ottenuto risultati contrastanti da browser differenti (es Explorer 6 non funzionava ma il 7 si).
    Teo

  9. #9
    Si il charset=ISO-8859-1 è impostato su tutte le pagine del sito, ma in alcune ho dovuto togliere il DOCTYPE per retrocompatibilità, quello mi dava problemi di visualizzazione.
    Può essere sia dovuto anche che non è dichiarato il DOCTYPE?

    Comunque la pagina viene reimpostata da ajax nel formato XHTML quindi la dichiarazione la mette lui.

    :master:
    La programmazione, è una sfida continua
    E lo si vede tutti i giorni

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.