-
errore parsing
Salve a tutti, non so se qualcuno di voi ha già riscontrato un problema simile.
Ho caricato sul mio spazio web, qui su altervista, una pagina php che sul mio web server funziona regolarmente mentre sulla pagina di altervista ottengo un errore di parsing.
La versione di php sul mio web server in locale è 5.2, così come su altervista e quindi non capisco cosa stia succedendo. Ho selezionato la versione 5.3 su altervista ma il problema persiste.
L'errore in questione è il seguente:
Parse error: syntax error, unexpected '[', expecting ')' in ...
Il codice sul quale ottengo errore è il seguente e la riga in questione è la prima.
Codice PHP:
$context = stream_context_create(['http' => [
'method' => 'POST',
'header' => ['Content-Type: application/x-www-form-urlencoded'],
'content' => 'data=' . urlencode($query),
]]);
Spero si non aver combinato casini nella impostazione del topic.
Ringrazio chiunque voglia aiutarmi.
-
Perchè usi parentesi quadre nella funzione stream_context_create???
Codice PHP:
$context = stream_context_create(array('http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => 'data=' . urlencode($query))));
-
Ciao ho modificato, come mi ha suggerito @miki92. Effettivamente il codice li ora funziona. Il motivo delle parentesi quadre è perché quel codice l'ho copiato da un esempio.
Non mi spiego come mai sul mio web server funziona. Infatti, accade che un altro errore lo riscontro su un'altra riga:
Codice PHP:
$supermarkets = $result->xpath($properties[$type]->xpath);
dove l'errore:
Fatal error: Call to a member function xpath() on a non-object in ...
$properties[$type]->xpath è una stringa che contiene una una query xpath che verrà applicata all'oggetto $result.
Vi ringrazio in anticipo
-
-
Codice PHP:
function create_geoJson_fromXML( $result, $type)
{
if(!isset($_SESSION["data_properties"])){ get_amenity_data();}
$properties=unserialize($_SESSION["data_properties"]);
$supermarkets = $result->xpath($properties[$type]->xpath);
$geoJson = create_osm_objects($supermarkets,$properties[$type]->marker_color,$properties[$type]->marker_symbol);
return $geoJson;
}
questa funzione prende in input: result che è un oggetto xml e type che è una stringa per selezionare determinati nodi.
La selezione dei nodi dall'oggetto xml avviene mediante il metodo xpath che tra l'altro è quella che genera errore, la cue query è memorizzata nell'oggetto properties.