spero di non andare fuori tema. con l'impostazione php default 5.2 la mia community con forum e chat tradotta dallo script lavalair ha rilevato 2 anomalie nell'inserimento dell'apostrofo. in forum funziona ma vengono aggiunte degli slash (esempio : l\\\'aereo) in chat invece il messaggio con testo apostrofato proprio non viene scritto, a meno che ,nel campo di invio venga inserito dall'utente uno slash (esempio: l\'aereo..in tal caso appare il testo e anche in modo corretto cioe: l'aereo ,senza slash). non essendo praticissimo di php avrei bisogno di un consiglio dettagliato su come e se è possibile riparare questa anomalia che non era presente con l'uso delle precedenti versioni php
o converti l'apostrofo con str_replace (apostrofo ' > ’), oppure pubblichi il codice che inserisce il testo e vediamo di capire che succede (potrebbe essere un addslashes da sistemare...)
-
ps: sposto in sezione php!
Ultima modifica di darkwolf : 12-03-2016 alle ore 16.06.55
Il secondo fa esattamente quello. Inserisce, come puoi vedere, uno slash davanti al '. Bisognerebbe capire l'utilità di questo replace. Intanto puoi provare a commentarlo o sostituirlo con il carattere che ti ho scritto io su.
Ps: Parli di core.php, quindi si tratta di uno script? Quale? Hai cercato eventuali aggiornamento?
Ultima modifica di darkwolf : 12-03-2016 alle ore 18.38.40
Vengono salvate nel database mysql? Devi cercare la query di inserimento (cioè la query che salva i dati in mysql) Sai mysql per interpretare i dati ha bisogno di uno blackslash davanti ad alcuni caratteri altrimenti mysql da errore. Questo potrebbe spiegare perché la chat non ti funziona ma per darti aiuto devi mostrare il codice. Per il forum può essere che php aggiunga l\'areo un blackslash e nel codice per inserimento (mysql) diventando l\\\'areo. Serve il codice del core.php e inserimento mysql.
mmm..ho chiesto lumi al forum dove si occupano degli aggiornamenti lavalair script esponendo il problema e mi hanno risposto cosi
"ts because you are using a quick fix for mysql_real_escape_string()
I guess a quick fix for it would be to use a string replacement in your parsebb function:
$text = str_replace("///","",$text);
se ho capito bene dovrei inserire questa stringa ma non ho idea precisa di dove..ovvero di che si intende x parsebb function
Posta il link al download di lavalair, così si capisce cosa fa.Perché il forum e chat non li crei tu in prima persona e quindi non sai se il testo che inserisce l'utente venga escape (con blackslash) per sicurezza prima di salvarlo. Quindi stiamo parlando di forumfree.it e IRC channel,giusto? Solo a livello di curiosità non per altro.
Ultima modifica di darbula : 13-03-2016 alle ore 20.17.07