Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Estrazione dati da json

    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 (sito joomla 3.5) 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:

    //Questa linea dovrebbe creare un array che si chiama $sms Giusto?
    $sms= json_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.

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    $event non è una variabile ma un'istanza di un oggetto. Detto questo non ha senso fare un echo di un oggetto.
    Poi non so come hai copiato il codice ma contiene cose strane.

    foreach (json_decode($event->customfields_data,true) as $field) ;{
    => non so cosa faccia ;{
    o
    if (in_array($field['mobile'],json_decode($event->customfields_data,true)))
    => non si sa quale istruzione viene eseguita dopo.
    Il meglio sarebbe di postare il codice ed il contenuto del file json.
    Ultima modifica di badaze; 24-07-2015 a 23:58
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Ciao Badaze grazie della risposta.
    Qui di seguito ti riporto il codie dell'intera pagina php, il codice postato mi e stato dato a spizzichi e bocconi dal programmatore del componente Joomla, la mia necessità in realta credevo semplice e di estrappolare il numero di telefono inserito dal utente nel form di registrazione e passarlo sotto forma di variabile ad un altro codice che si connette al gateway sms ed invia un messaggio. Ma l'unica cosa certa che ho capito e che tale dato (numero di telefono) e su questa apprendo ora da te istanza $event il comando echo da ignorante lo aggiunto io per capire se la variabile mi restituiva il valore corretto.

    Ti allego qui di seguito la porzione di codice della pagina e da tre giorni che ci lavoro ma non ho tolto un ragno dal buco. Grazie in anticipo del aiuto.
    Ps. Il contenuto del file json te lo posterei volentieri se solo capissi anchio dovè

    codice:
           $event = new \Pbbooking\Model\Event();
            if ($event->createFromPost($_POST)) {
                Purplebeanie\Util\Pbdebug::log_msg('PbbookingController::save() - Attempt to create pending event succeeded.','com_pbbooking');
            } else {
                Purplebeanie\Util\Pbdebug::log_msg('PbbookingController::save() - Attempt to create pending event failed.  Some data was missing.','com_pbbooking');
                if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']))
                    $this->setRedirect(JRoute::_('index.php?option=com_pbbooking&dateparam='.$_POST['date']),JText::_('COM_PBBOOKING_BOOKING_PROBLEM'));
                return;
            }
    
            if ($event->isValid()) {
                Purplebeanie\Util\Pbdebug::log_msg('PbbookingController::save() - event is valid.','com_pbbooking');
            } else {
                Purplebeanie\Util\Pbdebug::log_msg('PbbookingController::save() - event is invalid','com_pbbooking');
                $this->setRedirect(JRoute::_('index.php?option=com_pbbooking&dateparam='.$_POST['date']),JText::_('COM_PBBOOKING_PROBLEM_EVENT_INVALID'));
                return;
            }
            
            //make sure that the email address is valid!
            if (!JMailHelper::isEmailAddress($event->email)) {
                Purplebeanie\Util\Pbdebug::log_msg('PbbookingController::save() - event email address is invalid.  Provided email address is '.$event->email,'com_pbbooking');
                $this->setRedirect(JRoute::_('index.php?option=com_pbbooking&dateparam='.$_POST['date']),JText::_('COM_PBBOOKING_PROBLEM_EVENT_INVALID_EMAIL'));
                return;
            }
    
            //create pending event and email user
            $pending_id = $event->save();
    
    
    
    
    $sms= json_decode($event->customfields_data,true);
    echo $sms[1].'<br />';
    
    $sms= array();
    
    
    
    if ($event->customfields_data && $event->customfields_data != '') {
    
    echo $event.'<br />';
    foreach (json_decode($event->customfields_data,true) as $field)
    ;{
    
    if (in_array($field['mobile'],json_decode($event->customfields_data,true)))
    
    
    $sms[] = $field['data'];
    
    echo $sms.'<br />';}}

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 © 2025 vBulletin Solutions, Inc. All rights reserved.