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

    contenuto di una funzione in mail php

    ciao a tutti STO IMPAZZENDO.

    non riesco a far inviare per mail il contenuto di una funzione collocata nel file function.php

    il codice che uso per inviare la mail in html
    Codice PHP:
    ......................    
    $messaggio "

        <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>

        <html xmlns='http://www.w3.org/1999/xhtml'>

        <head>

        <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />

        </head>

        

        <body style='text-align: center; background:url([url]http://www.sito.it/immagini/sfondo.jpg[/url]) repeat-x; font: 12px Tahoma;'>
        
        ALTRO TESTO "
    .invioCarrello()."

        SEGUE ALTRO TESTO

        </body>

        </html>
        "

    invece, ecco il codice della funzione. deve inviare il contenuto di un carrello

    codice:
    function invioCarrello()
    {
      global $db;
      $carrello = $_SESSION['carrello'];
      $somma = 0;
      if ($carrello)
      {
        $prodotti = @explode(',',$carrello);
        $acquisti = array();
        foreach ($prodotti as $prodotto)
        {
          $acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
        }
        echo '<table border="1">';
    	echo '<tr><td>Nome</td><td>Aspetto</td><td>Prezzo</td><td>Q.t&agrave;</td><td>Totale</td></tr>';
    
        foreach ($acquisti as $id=>$quantita)
        {
    $query = "SELECT * FROM 1_prodotti WHERE id =".$id;
    $result = mysql_query($query) or die (mysql_error());
    
    echo '[list=1]';
    while ($f = mysql_fetch_assoc($result)) {
    
          @extract($f);
          echo '<tr>';
          echo '<td></td>';
          echo '<td>'.$nome.' by '.$marca.'</td>';
          echo '<td>&euro;'.$prezzo.'</td>';
          echo '<td>'.$quantita.'</td>';
          echo '<td>&euro;'.($prezzo * $quantita).'</td>';
          $somma += $prezzo * $quantita;
    	  $tara += $quantita * $peso;
          echo '</tr>';
    	  }
        }
    	
        echo '</table>';
        echo 'Totale Prodotti: &euro; '.number_format($somma,2,',','.').'</br>';
        echo 'Peso Prodotti in Kg: '.number_format($tara,2,',','.').'</br>';
    
      }else{
        echo 'Il carrello &egrave; vuoto.
    ';
      }
      return @join('',$result);
    }
    help mi!
    ---------------------------
    danielix05

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    invioCarrello ritorna una risorsa di mysql query,
    non un testo.

  3. #3
    ciao,
    e come potrei stamparmi in tabella l'ordine in sessione?
    ---------------------------
    danielix05

  4. #4
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Crei un 'clone' di questa funzione che piuttosto di farti ritornare la risorsa mysql ti ritorna una variabile con il testo

    Codice PHP:
    function invioCarrello2()
    {
      global 
    $db;
      
    $testo "";
      
    $carrello $_SESSION['carrello'];
      
    $somma 0;
      if (
    $carrello)
      {
        
    $prodotti = @explode(',',$carrello);
        
    $acquisti = array();
        foreach (
    $prodotti as $prodotto)
        {
          
    $acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1;
        }
        
    $testo.= '<table border="1">';
        
    $testo.= '<tr><td>Nome</td><td>Aspetto</td><td>Prezzo</td><td>Q.tà</td><td>Totale</td></tr>';

        foreach (
    $acquisti as $id=>$quantita)
        {
    $query "SELECT * FROM 1_prodotti WHERE id =".$id;
    $result mysql_query($query) or die (mysql_error());

    $testo.= '[list=1]';
    while (
    $f mysql_fetch_assoc($result)) {

          @
    extract($f);
          
    $testo.= '<tr>';
          
    $testo.= '<td></td>';
          
    $testo.= '<td>'.$nome.' by '.$marca.'</td>';
          
    $testo.= '<td>€'.$prezzo.'</td>';
          
    $testo.= '<td>'.$quantita.'</td>';
          
    $testo.= '<td>€'.($prezzo $quantita).'</td>';
          
    $somma += $prezzo $quantita;
          
    $tara += $quantita $peso;
          
    $testo.= '</tr>';
          }
        }
        
        
    $testo.= '</table>';
        
    $testo.= 'Totale Prodotti: [b]€ '.number_format($somma,2,',','.').'[/b]</br>';
        
    $testo.= 'Peso Prodotti in Kg: [b]'.number_format($tara,2,',','.').'[/b]</br>';

      }else{
        
    $testo.=  'Il carrello è vuoto.
    '
    ;
      }
      return 
    $testo;

    L'ho scritta al volo, potrebbe contenere dei piccoli errori di sintassi.
    Ciao

  5. #5

    grazissime Razorblade

    per miei limiti, non ci sarei potuto arrivare anche se la logica è basilare.

    per questo il mio grazie vale 2: hai risolto il mio problema, mi hai dato un input che prima mi mancava.

    ---------------------------
    danielix05

  6. #6
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Di nulla
    Ciao

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.