Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Richiamare variabile da $this

    Ciao,
    vorrei recuperare il valore corrente della mail dalla classe $this.
    Ho fatto print_r $this; e tra tutti valori ho trovato anche la stringa seguente
    come faccio a recuperare i valore della mail e assegnarli ad una nuova varbile.

    Array ( [email] => email@email.it [delimiter_userinfo] => [delimiter_billto] => )

    ho provato print_r($this->delimiter_billto->delimiter_userinfo->email);
    ma mi restituisce Array()
    p.s. sicuramente si tratta di una banalità ma sono un neofita di php quindi non giustiziatemi...
    Grazie per l'aiuto!

  2. #2
    Codice PHP:
    echo $this->email

  3. #3

    $this

    Ho provato ma non mi restituisce nulla?
    é possibile che il valore della mail sia contenuto dentro a qualche altra entità?

  4. #4
    Puoi postare la porzione di codice?
    Ti trovi in una classe?

  5. #5

    è un po lunga da spiegare

    Ciao innanzitutto grazie per la pazienza..
    Sto modificando una porzione di virtuemart, ho bisogno di inserire una funzione che verifica se un utente ha già scaricato un determinato prodotto con una mail e bloccarlo.
    Ti posto il codice del file.php su cui sto lavorando è il file che gestisce il carrello.
    Ho bisogno di richiamre il valore attuale della variabile mail in modo da confontarlo con quelle contenute nel db. HO ia scritto qualcosa, ma non riesco a recuperare il valore attuale della mail
    DI seguito tutto il codice del file
    La parte finale commentata è il codice che sto cercando di includere......
    <?php
    /**
    *
    * Layout for the shopping cart
    *
    * @package VirtueMart
    * @subpackage Cart
    * @author Max Milbers
    *
    * @link http://www.virtuemart.net
    * @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved.
    * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
    * VirtueMart is free software. This version may have been modified pursuant
    * to the GNU General Public License, and as distributed it includes or
    * is derivative of works licensed under the GNU General Public License or
    * other free or open source software licenses.
    * @version $Id: cart.php 2551 2010-09-30 18:52:40Z milbo $
    */

    // Check to ensure this file is included in Joomla!
    defined ('_JEXEC') or die('Restricted access');
    vmJsApi::js ('facebox');
    vmJsApi::css ('facebox');
    JHtml::_ ('behavior.formvalidation');
    $document = JFactory::getDocument ();
    $document->addScriptDeclaration ("
    //<![CDATA[
    jQuery(document).ready(function($) {
    $('div#full-tos').hide();
    $('a#terms-of-service').click(function(event) {
    event.preventDefault();
    $.facebox( { div: '#full-tos' }, 'my-groovy-style');
    });
    });

    //]]>
    ");


    $document->addStyleDeclaration ('#facebox .content {display: block !important; height: 480px !important; overflow: auto; width: 560px !important; }');

    //vmdebug('car7t pricesUnformatted',$this->cart->pricesUnformatted);
    //vmdebug('cart cart',$this->cart->pricesUnformatted );
    ?>

    <div class="cart-view">
    <div>
    <div class="width50 floatleft">
    <h1><?php echo JText::_ ('COM_VIRTUEMART_CART_TITLE'); ?></h1>
    </div>
    <?php if (VmConfig::get ('oncheckout_show_steps', 1) && $this->checkout_task === 'confirm') {
    vmdebug ('checkout_task', $this->checkout_task);
    echo '<div class="checkoutStep" id="checkoutStep4">' . JText::_ ('COM_VIRTUEMART_USER_FORM_CART_STEP4') . '</div>';
    } ?>
    <div class="width50 floatleft right">
    <?php // Continue Shopping Button
    if ($this->continue_link_html != '') {
    echo $this->continue_link_html;
    } ?>
    </div>
    <div class="clear"></div>
    </div>




    <div id="checkout-advertise-box">
    <?php
    if (!empty($this->checkoutAdvertise)) {
    foreach ($this->checkoutAdvertise as $checkoutAdvertise) {
    ?>
    <div class="checkout-advertise">
    <?php echo $checkoutAdvertise; ?>
    </div>
    <?php
    }
    }
    ?>
    </div>


    <form method="post" id="checkoutForm" name="checkoutForm" action="<?php echo JRoute::_ ('index.php?option=com_virtuemart&view=cart' . $taskRoute, $this->useXHTML, $this->useSSL); ?>">



    <?php // Continue and Checkout Button ?>
    <div class="checkout-button-top">

    <?php // Terms Of Service Checkbox
    if (!class_exists ('VirtueMartModelUserfields')) {
    require(JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'userfields.php');
    }



    $userFieldsModel = VmModel::getModel ('userfields');
    if ($userFieldsModel->getIfRequired ('agreed')) {
    ?>
    <label for="tosAccepted">
    <?php
    if (!class_exists ('VmHtml')) {
    require(JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'html.php');
    }
    echo VmHtml::checkbox ('tosAccepted', $this->cart->tosAccepted, 1, 0, 'class="terms-of-service"');

    if (VmConfig::get ('oncheckout_show_legal_info', 1)) {
    ?>
    <div class="terms-of-service">

    <a href="<?php JRoute::_ ('index.php?option=com_virtuemart&view=vendor&layo ut=tos&virtuemart_vendor_id=1') ?>" class="terms-of-service" id="terms-of-service" rel="facebox"
    target="_blank">
    <span class="vmicon vm2-termsofservice-icon"></span>
    <?php echo JText::_ ('COM_VIRTUEMART_CART_TOS_READ_AND_ACCEPTED'); ?>
    </a>

    <div id="full-tos">
    <h2><?php echo JText::_ ('COM_VIRTUEMART_CART_TOS'); ?></h2>
    <?php echo $this->cart->vendor->vendor_terms_of_service; ?>
    </div>

    </div>
    <?php
    } // VmConfig::get('oncheckout_show_legal_info',1)
    //echo '<span class="tos">'. JText::_('COM_VIRTUEMART_CART_TOS_READ_AND_ACCEPTE D').'</span>';
    ?>
    </label>
    <?php



    }
    echo $this->checkout_link_html;
    ?>

    </div>
    <?php
    //$connessione = mysql_connect("localhost", "admin", "password")
    //or die("Connessione non riuscita: " . mysql_error());
    //mysql_select_db(gnam)or die("Connessione non riuscita: " . mysql_error());


    //che conteggia i record con quella email
    //$ordinifattidallutente=mysql_query("SELECT `virtuemart_order_id` FROM `hxk1z_virtuemart_order_userinfos` WHERE `email`like'$email'") or die("Query non valida: " . //mysql_error());
    //echo $this->email;
    //$conteggio = mysql_fetch_array($ordinifattidallutente);
    //if($conteggio[0]>=1)
    // {
    // echo 'email esistente';
    //}
    //else
    // {
    // echo 'email non esistente';
    //}

    ?>
    <?php // Continue and Checkout Button END ?>
    <input type='hidden' id='STsameAsBT' name='STsameAsBT' value='<?php echo $this->cart->STsameAsBT; ?>'/>
    <input type='hidden' name='task' value='<?php echo $this->checkout_task; ?>'/>
    <input type='hidden' name='option' value='com_virtuemart'/>
    <input type='hidden' name='view' value='cart'/>
    </form>
    </div>
    La parte finale commentata è il codice che sto cercando di includere......

  6. #6

    Prova

    HO provato ad inserire
    echo $this;
    mi è comparsa una pagina piena di risultati.......
    ho cercato il valore di una mail appena inserita nel form ( info@tsquality.it ) con f3, e l'ho trovato all'interno di
    Array ( [email] => info@tsquality.it [delimiter_userinfo] => [delimiter_billto] => )?
    come faccio a richiamarlo?

  7. #7
    Codice PHP:
    $ordinifattidallutente['email'
    è la tua variabile presa dal db... provala al posto di $this->email

  8. #8

    Risolto

    Ciao, ho risolto grazie al tuo suggerimento,
    echo $this->cart->BT['email'];
    il valore della mail era al'interno di di una serie di array, ne ho analizzato il contenuto con quest ciclo
    foreach ( $this->cart as $chiave => $valore) {
    echo $chiave."--".$valore."
    ";
    }
    e poi ho trovato quello dove era contenuto il valore che mi serviva


    Adesso ho altri problemi ma non so se questa è la sezione giusta.
    SI tratta di interrogare il db analizare i valori stored delle mail e confrontarla con quella attuale appunto.
    Ho scrtto questo codice ma mi restituisce Resource id #228?? che sarebbe a dire???

    <?php
    $connessione = mysql_connect("localhost", "admin", "password")
    or die("Connessione non riuscita: " . mysql_error());
    mysql_select_db(gnam)or die("Connessione non riuscita: " . mysql_error());


    $emailut = $this->cart->BT['email'];
    echo $emailut;\\giusto per vedere se funziona...
    $ordiniut=mysql_query("SELECT `virtuemart_order_id` FROM `hxk1z_virtuemart_order_userinfos` WHERE `email`= '$emailut'") or die("Query non valida: " . mysql_error());
    echo ($ordiniut);
    ?>
    Se non sono nella sezione giusta ditemi dove postare
    Grazie,
    Gianluca

  9. #9

    Re: Risolto

    Originariamente inviato da GianlucaT
    Ciao, ho risolto grazie al tuo suggerimento,
    echo $this->cart->BT['email'];
    il valore della mail era al'interno di di una serie di array, ne ho analizzato il contenuto con quest ciclo
    foreach ( $this->cart as $chiave => $valore) {
    echo $chiave."--".$valore."
    ";
    }
    e poi ho trovato quello dove era contenuto il valore che mi serviva


    Adesso ho altri problemi ma non so se questa è la sezione giusta.
    SI tratta di interrogare il db analizare i valori stored delle mail e confrontarla con quella attuale appunto.
    Ho scrtto questo codice ma mi restituisce Resource id #228?? che sarebbe a dire???

    <?php
    $connessione = mysql_connect("localhost", "admin", "password")
    or die("Connessione non riuscita: " . mysql_error());
    mysql_select_db(gnam)or die("Connessione non riuscita: " . mysql_error());


    $emailut = $this->cart->BT['email'];
    echo $emailut;\\giusto per vedere se funziona...
    $ordiniut=mysql_query("SELECT `virtuemart_order_id` FROM `hxk1z_virtuemart_order_userinfos` WHERE `email`= '$emailut'") or die("Query non valida: " . mysql_error());
    echo ($ordiniut);
    ?>
    Se non sono nella sezione giusta ditemi dove postare
    Grazie,
    Gianluca
    allora:

    Codice PHP:
    echo ($ordiniut); 
    questo stampa il resource id, devi fetcharlo

    Codice PHP:
    // Ci aspettiamo una sola riga quindi
    $ris_ordiniut mysql_fetch_array($ordiniut);
    // ora dobbiamo stampare a video i dati, abbiamo quindi un array in $ris_ordiniut
    echo $ordiniut['virtuemart_order_id']; 

  10. #10

    OK

    OK ho fatto cosi
    // Ci aspettiamo una sola riga quindi
    $ris_ordiniut = mysql_fetch_array($ordiniut);
    // ora dobbiamo stampare a video i dati, abbiamo quindi un array in $ris_ordiniut
    echo $ris_ordiniut['virtuemart_order_id'];
    e mi ha restituito il primo valore.

    Adesso voglio risalire al'id product in base a tutti gli ordini fatti da quella mail, devo confrontarli con $ris_ordiniut o con $ordiniut . Scusami ma non mi è chiaro il significato di fetchare..

    HO scritto
    $prodotticompratidallutente=mysql_query("SELECT `virtuemart_product_id` FROM `hxk1z_virtuemart_order_items` WHERE `virtuemart_order_id`like''$ris_ordiniut ")or die("Query non valida: " . mysql_error());

    Dopodichè confronterò il valore con quello del prodotto corrente, come faccio a confrontare un'array con un singolo valore?

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.