Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371

    invio dati al server json

    Ragazzi qualche buon anima che mi aiuta...... dentro $result ho un array del tipo:
    codice:
    Array ( 
    [lista_documenti] => Array ( 
    [0] => Array ( [id] => 15420956 [nome] => cliente genico [data] => 11/01/2018 [importo_netto] => 1000.00 [importo_totale] => 1220.00 [valuta] => EUR) 
    [1] => Array ( [id] => 15451343 [nome] => pippo [data] => 11/01/2018 [importo_netto] => 1000.00 [importo_totale] => 1220.00 [valuta] => EUR) ) 
    [pagina_corrente] => 1 [numero_pagine] => 1 [numero_risultati] => 2 [risultati_per_pagina] => 250 [success] => 1 ) 
    Codice PHP:

    dovrei inviare questo 
    array ad un server ed ho provato a fare nel seguente modo.....

    // trasformo la mia array in JSON 
    $dati json_encode($result);

    // inizializzo curl
    $ch curl_init();

    // imposto la URl del web-service remoto
    curl_setopt($chCURLOPT_URL$uri);


    // preparo l'invio dei dati col metodo POST
    curl_setopt($chCURLOPT_POSTtrue);
    curl_setopt($chCURLOPT_POSTFIELDS,$dati);

    // imposto gli header correttamente
    curl_setopt($chCURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' strlen($dati))
    );

    // eseguo la chiamata
    curl_exec($ch);

    // chiudo

    curl_close($ch); 

    ed ora il server mi dice "
    Parametro 'api_uid' mancante." sono andato a leggere ed ho trovato questo
    I parametri api_uid e api_key sono necessari per effettuare qualsiasi operazione e vanno inseriti come parametri JSON in tutte le richieste.
    ho sia
    api_uid=123456 che api_key=abcd1234efg567 macome faccio ad passare questi parametri al server....

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, ad occhio e croce se la formattazione e' corretta del tuo array iniziale salvo dati mancanti, basta che aggiungi queste due chiavi e valori come "lista_documenti" (allo stesso livello).
    Non conosco lo scrpt di lettura lato server ma una cosa così:
    codice:
    $dati = array(
    "lista_documenti" => array(),
    "api_uid" => "VALORE",
    "api_key" => "valore
    );

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Grazie innanzitutto per la risposta.....con il seguente leggo i dati dal server...<?php
    $url = "https://api.xxxx.it/v1/richiesta/info";
    $request = array("api_uid" => "128877", "api_key" => "7f3f0d911b018f02ac3febc50981bf3f");
    $options = array(
    "http" => array(
    "header" => "Content-type: text/json\r\n",
    "method" => "POST",
    "content" => json_encode($request)
    ),
    );
    $context = stream_context_create($options);
    $result = json_decode(file_get_contents($url, false, $context), true);
    print_r($result);
    ?>
    Scusa ignoranza ma dove dovrei inserire quello che mi hai detto???

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    L'esempio che hai messo ora usa un stream_context_create, quello precedente un Curl.
    Comunque dovrebbe essere giusto passandoli nel request.
    Ripeto che non sapendo come /richiesta/info se li aspetta o vada a leggere non posso sapere di più.
    Il $result attuale ora cosa ritorna? se funziona o meno dovresti già vederlo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    L'esempio che hai messo ora usa un stream_context_create, quello precedente un Curl.
    Comunque dovrebbe essere giusto passandoli nel request.
    Ripeto che non sapendo come /richiesta/info se li aspetta o vada a leggere non posso sapere di più.
    Il $result attuale ora cosa ritorna? se funziona o meno dovresti già vederlo
    $ RESULT restituisce array che ti ho messo nel primo post......io dovrei prendere quell'array aggiungerci le chiavi per scrivere nel nuovo server....
    In parole povere ho 2 connessioni a 2 server diversi .....devo leggere i dati dal 1^ server aggiungerci ed inviarli al 2^ server.....spero di essermi spiegato meglio

  6. #6
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Per aggiungere le chiavi all'array basta inserirle o manualemente tipo:
    codice:
    $array_iniziale = array('chiave'=>'valore');
    //aggiungo
    $array_iniziale['nuova_chiave'] = 'nuovo_valore';

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Per aggiungere le chiavi all'array basta inserirle o manualemente tipo:
    codice:
    $array_iniziale = array('chiave'=>'valore');
    //aggiungo
    $array_iniziale['nuova_chiave'] = 'nuovo_valore';
    GRAZIE 1000 risolto con il tuo aiuto

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Scusa ancora una domanda..... nell'array iniziale in $result che contiene questi dati.....
    codice HTML:
    Array ( 
    
    [lista_documenti] => Array ( 
    [0] => Array ( [id] => 15420956 [nome] => cliente genico [data] => 11/01/2018 [importo_netto] => 1000.00 [importo_totale] => 1220.00 [valuta] => EUR) 
    [1] => Array ( [id] => 15451343 [nome] => pippo [data] => 11/01/2018 [importo_netto] => 1000.00 [importo_totale] => 1220.00 [valuta] => EUR) ) 
    [pagina_corrente] => 1 [numero_pagine] => 1 [numero_risultati] => 2 [risultati_per_pagina] => 250 [success] => 1 ) 
    se voglio estrapolare il valore "id" con un ciclo......
    $i =0;
    foreach ($result as $id)

    $i ++;
    echo"Il valore è ". $result [$i] ['id'];

    Sbaglio qualcosa???
    ossia dovrei in questo caso leggere nel primo ciclo
    id=
    15420956
    mentre nel secondo..
    id=
    15451343

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.