WebSite X5Help Center

 
Mario Tura De Marco
Mario Tura De Marco
User

Errore su widget Pricing Table  it

Autor: Mario Tura De Marco
Visited 34, Followers 0, Udostępniony 0  

Segnalo che nel widget PRICING TABLE, qualora si va ad inserire del testo con virgolette, come per esempio "Bar Tickets", il widget sparisce e non viene pubblicato. 

Il testo virgolettato lo avevo inserito nelle PROPRIETA', dove andiamo a fare l'elenco delle cose incluse nell'acquisto delle varie tipologie di biglietto.

Grazie.

Mario

Allego immagine dove avevo inserito le virgolette.

Posted on the
2 ODPOWIEDZI
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... normalmente nelle dichiarazioni elaborate dal PHP non andrebbero usati CR e caratteri speciali riservati...

... magari da domani lo STAFF potrebbe dirti di più...

.

ciao

.

Czytaj więcej
Posted on the from  ‪ KolAsim ‪ ‪
Roberto M.
Roberto M.
User

Ciao Mario . Potrebbe trattarsi di:

  • un bug/limitazione di parsing del widget
  • Non c’entrano “caratteri riservati PHP”
  • Basta sostituire o codificare le virgolette per farlo funzionare.

Non vorrei sbagliare ma il widget Pricing Table di Incomedia salva i dati in un file JSON (o in un attributo HTML tipo data-*). Se tu inserisci " (doppi apici) non “escape-ati”, il JSON diventa invalido.
Esempio:

{ "descrizione": "Bar Tickets" incluso" }

Questo spezza la struttura e il widget non viene renderizzato e quindi sparisce in pubblicazione.

Prova ad usare virgolette tipografiche (“ e ”) o singoli apici ' invece dei doppi apici diretti "
Esempio:

'Bar Tickets'

oppure

“Bar Tickets”

Se l'errore persiste allora deve intervenire incomedia

Per quanto attiene alle dichiarazioni elaborate da php quando si dichiarano stringhe, variabili o si scrive query SQL, alcuni caratteri speciali (tipo \n, \r, " , ', \ e altri) hanno significati particolari e se non vengono “escapati” correttamente possono causare errori o vulnerabilità. I CR (Carriage Return, \r) e LF (Line Feed, \n) di solito non danno problemi nei file PHP normali, ma in certi contesti — ad esempio dentro intestazioni HTTP (header()) o in alcuni parsing di form — possono rompere il funzionamento o essere usati per attacchi (Header Injection).

Quanto sopra spiegato in maniera tecnica vale per listati di programmazione.

Nel caso dell’utente col Pricing Table:

  • Non è che Incomedia stia “eseguendo” il testo come codice PHP.
  • Sta solo salvando il testo in un formato (JSON o attributo HTML) e qui il problema è che i doppi apici " rompono la sintassi del JSON o dell’attributo se non sono codificati (" o \").

Prova a cambiare apici per vedere se te lo fa ancora.Io non ho quell'oggetto per provare. 

Czytaj więcej
Posted on the from Roberto M.