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

    PHP: inviare risultato di un ciclo via email

    Ciao a tutti, sono nuovo del forum e vi pongo subito un mio problema che da giorni mi sta facendo impazzire:
    Allora io ho una pagina html che tramite javascript faccio aggiungere all'utente diversi campi input.
    Dato che questi campi input potrebbero essere anche più di uno con lo stesso attributo name, ho pensato di aggiungere nel name del campo le parentesi quadre così da ottenere poi in php un array da poter poi scorrere e leggere tutti i campi riempiti dall'utente.
    Il problema è:
    Io riesco benissimo con php a scorrere l'array, sia con il ciclo for che foreach e fin quà tutto ok.
    il problema è che i dati vorrei riceverli via email, ma non posso includere il ciclo nel corpo del messaggio email o non sono capace io.
    Ho pensato di creare una funzione con all'interno il ciclo, ma quando nel corpo della mail richiamo la funzione, ricevo la mail senza i dati come se la funzione non viene processata. Non posso utilizzare credo il return nella funzione in quanto la variabile che mi dovrebbe tornare è un array e quindi non riesco ad utilizzare il return.

    di seguito un esempio di ciò che ho detto e che voglio fare:

    campi input:
    input type=text name=nome_cognome[]
    questi possono essere aggiunti dall'utente quindi anche più di uno.

    php:
    function adulti() {
    $nome_cognome=$_POST['nome_cognome'];
    foreach($nome_cognome as $id_adulto=>$adulto) {
    echo $adulto.", ";
    }
    qui dovrei mettere il return ma non posso metterlo perchè la variabile adulto è un array.
    }
    ora vorrei inviare la mail che in questo caso la invio con phpmailer e quindi fosse così dovrei scrivere:
    $mail->MsgHTML(adulti()); ma non funziona, se al posto di richiamare la funzione inserisco il ciclo non credo funzioni anche perchè io in realtà dovrei includere due cicli.

    Come posso fare per ottenere il risultato sperato?

    Vi ringrazio in anticipo... è urgente quindi se potete rispondetemi per favore!!!!!!!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Benvenuto.
    Creare una stringa con il contenuto dell'array e passare questa per l'invio dell'email?
    Codice PHP:
    $stringa '';
    foreach ( 
    $nome_cognome as $adulto )
    {
        
    $stringa .= $adulto ', ';
    }

    $mail->MsgHTML($stringa); 

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Benvenuto.
    Creare una stringa con il contenuto dell'array e passare questa per l'invio dell'email?
    Codice PHP:
    $stringa '';
    foreach ( 
    $nome_cognome as $adulto )
    {
        
    $stringa .= $adulto ', ';
    }

    $mail->MsgHTML($stringa); 
    Ciao e grazie mille per la risposta, ma ho risolto grazie allo stesso metodo suggeritomi da un altro forum, le avevo pensate e provate davvero tutte ma a questa non ci avevo pensato, eppure conosco il php e lo utilizzo da tempo, ma come in ogni cosa ed in ogni campo, c'è sempre da imparare, a volte basta una distrazione o una Mente poco lucida che non si ricorda anche magari la cosa più semplice.

    grazie ancora e buona giornata

Tag per questa discussione

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.