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

    [php-mail] inviare un array via mail

    ragazzi ho un problema con gli ordini
    ho un array $articoli,
    so PER CERTO (perche faccio la prova con una print a ciclo che me lo stampa tutto ) che contiene per ogni posto, una sringa, insomma ha questa struttura:

    $articoli[1] = set piatti cod: 2010 ,
    $articoli[2] = set posate cod: 0394 ,
    $articoli[3] = set vasi cod: 0909 ecc...

    il problema è: come posso inviare l'array via emai e stamparlo?
    ragazzi ho provato cosi

    Codice PHP:
    $articoli $_SESSION['articoli'];

    extract($articoli,EXTR_PREFIX_ALL);

    $ordine.= "Riepilogo ordine:\n\n";  //intestazione dell' ordine
    $ordine.= "id articoli ordinati: $carrello,\n\n"// id degli articoli ordinati es. 1,3,8,13,4 ecc
    $ordine.= "Totale: ".number_format($somma2","".")." €\n";  // costo tot merce
    $ordine.= "$articoli[0]\n";
    $ordine.= "$articoli[1]\n";
    $ordine.= "$articoli[2]\n";
    $ordine.= "$articoli[3]\n";
    $ordine.= "$articoli[4]\n";
    $ordine.= "$articoli[5]\n";

    ini_set('sendmail_from'"$destinatario");
    mail("$destinatario""$oggetto_email""$corpo""$ordine""$headmail"); 
    ma mi stampa solo una stringa dimenticandosi delle altre. non va bene la funzione extract? o sbaglio ad usarla? voi cosa mi consigliate?? grazie a tutti.
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  2. #2
    Puoi estrapolarli con un ciclo for:
    Codice PHP:
    $lungh_arraycount($articoli);
    for (
    $contatore=0$contatore $lungh_array$contatore++) {
    $ordine.= $articoli[$contatore]."\n"

    Ce l'ho fatta! - ItalianPixel -

  3. #3
    mmm ok ora provo e ti faccio sapere, spero che vada!
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  4. #4
    Attento che la variabile ordine deve essere già stata dichiarata. Se no devi fare così:
    Codice PHP:
    $lungh_arraycount($articoli); 
    for (
    $contatore=0$contatore $lungh_array$contatore++) { 
    $ordine$articoli[$contatore]."\n"
    echo 
    $ordine;

    Ce l'ho fatta! - ItalianPixel -

  5. #5
    allora , mmm non posso mettere output nello script inviamail.php perchè va in conflitto con gli header e poi se metto output escono al cliente al momento dell invio e non a me come vorrei, cmq ho provato con il primo metodo che mi hai postato ma la variabile ordine viene sovrascritta, se ordino:
    piatti cod: 3456
    vasi cod: 34050 mi arriva solo quest ultima.

    strano perche assegnandolo ad ordini a ciclo con ".=" la variabile dovrebe concatenarsi a mo di stringa ma invece viene qui viene sovrascritta.

    $lungh_array= count($articoli);
    for ($contatore=0; $contatore < $lungh_array; $contatore++) {
    $ordine.= $articoli[$contatore]."\n";

    per provare a risolvere la sovrascrizione della variabile facendo cosi:

    $lungh_array= count($articoli);
    for ($contatore=0; $contatore < $lungh_array; $contatore++) {
    $ordine.= $articoli[1]."\n";
    $ordine.= $articoli[2]."\n";
    $ordine.= $articoli[3]."\n";
    $ordine.= $articoli[4]."\n";
    $ordine.= $articoli[5]."\n";

    sperando che almeno mi stampi i primi 5 valori (difficile che un ordine superi i 5 articoli ) ma niente. mmmmmm
    grazie 1000 per l'aiuto che mi stai dando
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  6. #6
    L'echo ordine era per vedere se funzionava tutto.
    Se vuoi puoi crearti a tua volta un array con i risultati estratti.
    Ad ogni modo, prova così:
    Codice PHP:
    $lungh_arraycount($articoli); 
    for (
    $contatore=0$contatore >= $lungh_array$contatore++) { 
    $ordine$articoli[$contatore]."\n"
    echo 
    $ordine

    Ce l'ho fatta! - ItalianPixel -

  7. #7
    mmm ancora nn va!
    e se cambiassi tecnica? tipo con una IMPLODE()?
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  8. #8
    Ha ecco risolto! ho convertito con implode l array $articoli in stringa e l' ho assegnata ad $ordine che ho messo poi nella funzione mail cosi:

    mail("$destinatario","$oggetto","$ordine","$headem ail")

    il codice usato è questo:

    $array_separated = implode(" ", $articoli);

    $ordine = $array_separated;
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  9. #9
    Originariamente inviato da portapipe
    L'echo ordine era per vedere se funzionava tutto.
    Se vuoi puoi crearti a tua volta un array con i risultati estratti.
    Ad ogni modo, prova così:
    Codice PHP:
    $lungh_arraycount($articoli); 
    for (
    $contatore=0$contatore >= $lungh_array$contatore++) { 
    $ordine$articoli[$contatore]."\n"
    echo 
    $ordine

    GRAZIE per il tuo aiuto portapipe! alla fine sono arrivato alla soluzione yeah! ecommerce finito!
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  10. #10
    Bene! Buone entrate!
    Ce l'ho fatta! - ItalianPixel -

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.