Skip to topic | Skip to bottom
Home
TechWeb06
TechWeb06.CorrettoUsoEncodingr1.1 - 30 Jun 2006 - 14:27 - EnricoSasdellitopic end

Start of topic | Skip to actions

-- EnricoSasdelli - 30 Jun 2006

  • Set ALLOWTOPICVIEW =
  • Set ALLOWTOPICCHANGE =

Corretto uso dell'encoding/decoding dei dati inviati con POST/GET.

E' stato deciso che i dati vanno codificati tramite rawurlencode() in php ed encodeURIcomponent() in JavaScript, per la decodifica si usano le rispettive rawurldecode() e decodeURIcomponent().

Invio dei dati tramite PHP

In fase di INVIO dei dati, tramite CURL, ci sono due modi per passare i dati: Sistema numero 1: i dati vengono passati a curl come una stringa nel formato "key=value".

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_POST, true);

// imposto la stringa con i dati codificati.
$pippo = variabileFormattazione."=".rawurlencode(domDati->saveXML());
curl_setopt($curl, CURLOPT_POSTFIELDS, $pippo);

Sistema numero 2: i dati vengono passati a curl come un array:

// NOTA IMPORTANTISSIMA: mettendo i dati nell'array, PHP gentilmente // CODIFICA AUTOMATICAMENTE i dati per cui NON C'E' BISOGNO di codificare.
$pippo [$variabileFormattazione] = $domDati->saveXML();

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pippo);

Riassumendo:

  • se inviate i dati con curl passando degli array, NON BISOGNA CODIFICARE
  • se inviate i dati tramite una stringa senza passare da un array, allora E' NECESSARIO CODIFICARE

Ricezione dei dati con PHP

A questo punto, quando si leggono i dati dagli array $_GET e $_POST, questi sono gia' decodificati quindi NON C'E' BISOGNO MAI DI DECODIFICAR E

Invio dati da Javascript

Non sono a conoscenza di metodi alternativi alla "stringa", pertanto basta codificare con encodeURIcomponent prima di inviare i dati.

Ricezione dati da Javacript

Operazione non presente lato Javascript.

Grazie, ciao!

-- EnricoSasdelli - 30 Jun 2006
to top


You are here: TechWeb06 > CorrettoUsoEncoding

to top

Copyright © Fabio Vitali + TechWeb students 2006