Back to top

Autore Topic: Aiuto con codice  (Letto 1626 volte)

Offline geppo157

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Aiuto con codice
« il: 24 Lug 2015, 14:58:58 »
Ciao a tutti e complimenti per il forum.
Vi premetto fin da subito che di lavoro non sono un programmatore PHP e per questo chiedo aiuto a voi.
Il problema e il seguente ho dei dati codificati in json code questi dati sono Nome e Cognome e Numero di telefono inseriti dagli utenti al momento della registrazione dovrei estrarli trasformarli in 3 variabili e fargli stampare a video tramite il comando Echo o Print.
Sto provando con questo codice ma non capisco perchè non funzioni sapete aiutarmi perchè sto diventando matto.

Codice e commenti:
 
Codice: [Seleziona]
<?php 
//Questa linea dovrebbe creare un array che si chiama $sms Giusto?
$smsjson_decode($event->customfields_data,true);
 echo 
$sms[1].'[br /]';
 
 
$sms= array(); 
 
 
 
//Questa linea invece controlla che la variabile $event non sia vuota Giusto?
 
if ($event->customfields_data && $event->customfields_data != '') {
    
//Questa linea tramite foreach estrae i dati dalla  array $sms presumo Giusto?
    
echo $event.'[br /]';
    foreach (
json_decode($event->customfields_data,true) as $field
    ;{
   
   
//Questa linea invece dovrebbe controllare che nella variabile field sia presente il customfiled mobile (il numero di telefono inserito al momanto della prenotazione) questa non capisco la sintassi     

     
if (in_array($field['mobile'],json_decode($event->customfields_data,true)))
     
 
 
//questa linea invece assegna alla variabile $data il contenuto della variabile $field tramite la chiave data Giusto?
 
$sms[] = $field['data'];
    
//questa linea dovrebbe stampare il contenuto della variabile $data Giusto? In realtà a me basterebbe stampasse il campo mobile contenuto in custumfield.
echo $sms.'[br /]';}} ?>

//
 
A quanto ho capito il contenuto dei campi nome Cognome e telefono sono contenuti nella variabile $event.
 
Grazie in anticipo.

 
 
« Ultima modifica: 24 Lug 2015, 21:40:31 da geppo157 »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto con codice
« Risposta #1 il: 24 Lug 2015, 21:30:59 »
Se non usi il tag codice sul forum, tutto il codice sballa e perde il suo significato quindi sarà impossibile aiutarti.

Offline geppo157

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Aiuto con codice
« Risposta #2 il: 24 Lug 2015, 21:35:58 »
Modificato grazie Giovi

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto con codice
« Risposta #3 il: 27 Lug 2015, 12:45:26 »
In quale contesto lavori? Ovvero dove si trova questo codice?


Cosa intendi per non funziona?


Rispondendo ai commenti del codice, json_decode restituisce un array di tipo associativo, per cui se la stringa json è
Codice: [Seleziona]
{"nome":1,"cognome":2,"indirizzo":3,"ecc":4,"etc":5}Per accedere al secondo valore 2 dovrai scrivere
Codice: [Seleziona]
$sms['altro']

se subito dopo fai $sms = array(); svuoti l'array reinizializzandolo con valori nulli quindi tutto il codice che c'è dopo non potrà più lavorare su $sms.


La linea
Codice: [Seleziona]
if ($event->customfields_data && $event->customfields_data != '') controlla che la variabile sia piena e contemporaneamente diversa da vuoto (un controllo un po ridondante, non credi?)


Se $event è un oggetto non puoi scrivere echo $event ma dovrai utilizzare la funzione var_dump();


La linea
Codice: [Seleziona]
foreach (json_decode($event->customfields_data,true) as $field) cicla sul contenuto dell'array creato in seguito alla decodifica di quella stringa (che poi sarebbe lo stesso contenuto iniziale di $sms!!!)
   
Questo invece controlla che nell'array prodotto dalla decodifica ci sia il valore di $fiels['mobile']:
 
Codice: [Seleziona]
if (in_array($field['mobile'],json_decode($event->customfields_data,true)))

 
Codice: [Seleziona]
//questa linea invece assegna alla variabile $data il contenuto della variabile $field tramite la chiave data Giusto?
 $sms[] = $field['data'];
Giusto
Codice: [Seleziona]
//questa linea dovrebbe stampare il contenuto della variabile $data Giusto?
echo $sms.'[br /]';}} ?>
Sbagliato




 



Web Design Bolzano Kreatif