Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22832
| From | Roberto Tagliaferri <tagliaferri@bofhland.org> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Re: uguaglianza parole con apostrofo. |
| Date | 2020-07-03 11:51 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <rdmv32$11oe$1@gioia.aioe.org> (permalink) |
| References | <rdmn1t$18if$1@gioia.aioe.org> <20200703111627.6ae59ff6@nntp.aioe.org> |
Enrico Maria Chellini wrote: > Il giorno Fri, 03 Jul 2020 09:34:21 +0200 > Roberto Tagliaferri <tagliaferri@bofhland.org> ha scritto: > >> Scenario: procedura web per gestire immobili, quindi indirizzi, zone >> eccetera. >> Mi chiama il cliente e mi dice che con l'apostrofo non mi segnala i >> dati corretti. >> Vado a controllare e vedo che la procedura salva correttamente MA poi >> quando deve verificare se il dato è uguale ad uno dei valori della >> lista ha sempre risultato negativo. >> Però per popolare i campi in modo dinamico (quindi io prima scelgo la >> provincia e c'è una chiamata ajax che tira fuori i comuni, poi lo >> stesso per le zone) chiamo 2 script e in quel caso il match funziona. >> Ho provato con un banale $stringa=$valore reso dal db, >> una strcmp, entrambe con una or... nulla. >> Ho provato anche una banale select nel db >> select distinct(zona) as zona,zona ilike $3 as eq (db postgresql, no >> pdo o altro) >> funziona da psql o da pgadmin, rende sempre false da php se apro la >> pagina da web ma rende il corretto true se lo chiamo da ajax. >> Infine ho provato a fare un iconv e da un errore di codifica.. ma è >> tutto utf-8 e gli header (controllati con firefox) sono utf-8. >> Ho rimediato mettendo a fondo pagina la chiamata alle 2 ajax che >> funzionano ma mi piacerebbe sapere dove cavolo ho sbagliato. >> Postgres 10 in sviluppo e 9 in produzione, php 7.2 in sviluppo e 7.0 >> in produzione, server fedora 29 in sviluppo e centos 7 in produzione >> (ovviamente con gli stessi problemi) >> >> > > Probabilmente quanto passa dello script delle form l'apostrofo > interrompe la stringa, per tanto o ci aggiungi uno slash oppure fai > l'encode di tutti i caratteri html > > per esempi <input value=" ciao caro l'auto è la tua?"> > > la stringa che passa sarà: "ciao caro l" > poi ci sarà un errore php. > dovresti provare a fare un debug. > > quindi o ci metti uno slash <input value=" ciao caro l\'auto è la tua?"> > o codifichi l'apostrofo con htmlspecialchar, se non erro. > > Enrico Ciao e grazie. ho messo il debug e la cosa è divertente.. valore del db (query su tutti i comuni), valore del db (record del cliente), risultato comparazione prato sull'arno DIVERSO sull'arno sull'arno DIVERSO vaiano sull'arno DIVERSO e par follia.. però se tiro fuori i singoli codici ascii trovo grosse differenze: Array ( [1] => 115 [2] => 117 [3] => 108 [4] => 108 [5] => 39 [6] => 97 [7] => 114 [8] => 110 [9] => 111 ) Array ( [1] => 115 [2] => 117 [3] => 108 [4] => 108 [5] => 38 [6] => 35 [7] => 48 [8] => 51 [9] => 57 [10] => 59 [11] => 97 [12] => 114 [13] => 110 [14] => 111 ) se apro il db su quella scheda vedo ovviamente sull'arno La cosa che non mi torna è che l'altra procedura (quella chiamata via ajax per popolare via via le select) è un copia e incolla di questa e funziona correttamente -- Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)tosnet.it www.robyt.eu
Back to it.comp.www.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
uguaglianza parole con apostrofo. Roberto Tagliaferri <tagliaferri@bofhland.org> - 2020-07-03 09:34 +0200
Re: uguaglianza parole con apostrofo. Enrico Maria Chellini <bitit@bitit.it> - 2020-07-03 11:16 +0200
Re: uguaglianza parole con apostrofo. Roberto Tagliaferri <tagliaferri@bofhland.org> - 2020-07-03 11:51 +0200
Re: uguaglianza parole con apostrofo. Roberto Tagliaferri <tagliaferri@bofhland.org> - 2020-07-03 12:08 +0200
csiph-web