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

    Aiuto acquisizione dati da form

    Ciao a tutti, vi illustro la mia situazione. Ho realizzato un sito per mio zio in cui c'è un modulo in una pagina html per una richiesta preventivo composto da text per nome cognome e da molte check box ognuna associata ad una text (nome_prodotto check box -----> Quantità_prodotto). Come posso realizzare una pagina in php che mi invia tramite mail tutto il form compilato dall'utente.
    Grazie mille

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Sai programmare in php?

    O la richiesta è "me lo fate per favore"?
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Originariamente inviato da kalosjo
    Sai programmare in php?

    O la richiesta è "me lo fate per favore"?
    Inizia a buttare giù un pò di codice.

    Comunque il ragionamento è semplicissimo.
    Nella pagina che riceve i dati del form, li intercetti uno ad uno e ti crei il testo della mail con quelle variabili.

    Non c'è cosa più semplice di questa...
    Poi tramite la funione mail() invii la mail al tuo indirizzo

  4. #4
    no, non chiedo che me lo sviluppiate voi anche perchè ho gia cominciato a buttare giu qualcosa del tipo:

    $nome=strip_tags(trim($_POST['nome']));
    $cognome=strip_tags(trim($_POST['cognome']));

    ch1=trim($_POST['farinadibase1']);//valore del check 1
    $q_ch1=trim($_POST['canapa_macinata']);//quantità correlata a check 1
    $ch2=trim($_POST['farinadibase2']);//valore del check 2
    $q_ch2=trim($_POST['canapa_tostata']);//quantità correlata a check 2
    $ch3=trim($_POST['farinadibase3']);
    $q_ch3=trim($_POST['caseina']);
    $ch4=trim($_POST['farinadibase4']);
    $q_ch4=trim($_POST['farina_gialla']);

    il problema è che ho moltissime check box da recuperare devo scrivere uno alla volta o posso fare qualche ciclo.

  5. #5
    dipende dal tipo di nomi che dai.

    Se per esempio hai i post tipo
    $_POST['nome1'], $_POST['nome2'], $_POST['nome3'] ecc...

    Puoi fare con un ciclo da $i = 1 a $i = n

    ma se sono tutti nomi diversi devi farlo singolarmente.
    Altrimenti devi inventarti qualcosa con un ciclo foreach.

  6. #6
    ok, mi puoi aiutare te visto che sono alle prime armi con il php

  7. #7
    e come ti devo aiutare?
    dipende dai dati che devi ricevere e a quanto pare non sono valori ai quali puoi mettere tutti gli stessi nomi numerati, altrimenti non ci capisci più niente.

    Potresti fare così:
    Codice PHP:
    <?php
    foreach($_POST as $key => $value) {
        
    $array[$key] = $value;
    }
    ?>
    così in $array avrai tutti i valori che ti servono. Come array associativo

  8. #8
    ti scrivo una parte dei valori del form, scusami ma sono un neofita del php,

    <tr>
    <td><input type="checkbox" name="farinadibase1" value="canapa_macinata" />Canapa macinata</td>
    <td align="center"><input type="text" name="canapa_macinata" size="10" maxlength="3" /></td>
    </tr>
    <td><input type="checkbox" name="farinadibase2" value="canapa_tostata" />
    Canapa tostata macinata</td>
    <td align="center"><input name="canapa_tostata" type="text" size="10" maxlength="3" /></td>
    </tr>
    <td><input type="checkbox" name="farinadibase3" value="caseina" />
    Caseina</td>
    <td align="center"><input name="caseina" type="text" size="10" maxlength="3" /></td>
    </tr>
    <td><input type="checkbox" name="farinadibase4" value="farina_gialla" />
    Farina gialla</td>
    <td align="center"><input name="farina_gialla" type="text" size="10" maxlength="3" /></td>
    </tr>



    come dveo procedere secondo te? Devo cambiare i nomi?

  9. #9
    Utente di HTML.it L'avatar di izzusan
    Registrato dal
    Apr 2003
    Messaggi
    463
    io procederei in ordine

    raccatti tutti i dati del form,
    per le text normali basta :

    $tesxtbox_1 = str_replace("'","&#39;",$_POST["nome della tua tesxtbox"]);

    per le check:

    if (isset($_POST["nome della tua checktbox"]) and $_POST["nome della tua checktbox"] == "s")
    $checktbox = "s";
    else
    $checktbox = "n";
    ecc ecc

    mentre per inviare per email devi scaricarti la libreria PHPMailer_v2.0.4

    che verra messa nella root della tua cartella e richiamata nel tuo file cosi:

    require_once('../PHPMailer_v2.0.4/class.phpmailer.php');

    e poi ci sara' il codice di invio dell'email con i tuoi dati:

    Codice PHP:

    // email al cliente



    $mittente "chimandaemail@email.it";
    $nomemittente "Conferma Ordine";
    $destinatario "emaildestinatario@email.it";

    $ServerSMTP "smtp.tuodominio.it";  //server SMTP autenticato Hosting Solutions




        

    $messaggio = new PHPMailer;
    // utilizza la classe SMTP invece del comando mail() di php
    $messaggio->IsSMTP(); 
    $messaggio->SMTPAuth   true;     // abilita autenticazione SMTP
    $messaggio->SMTPKeepAlive "true";
    $messaggio->IsHTML(true);
    $messaggio->Host  $ServerSMTP;
    $messaggio->Username   "tuodominio@user.it";      // utente server SMTP autenticato
    $messaggio->Password   "password tua";    // password server SMTP autenticato

    $messaggio->From   $mittente;
    $messaggio->FromName $nomemittente;
    $messaggio->AddAddress($destinatario);

    //inseriamo i tag HTML e i CSS per formattare il messaggio
    $messaggio->Body '<html><body><head><style>';
    $messaggio->Body .= '.up{font-family:Arial;text-align:left;color:#000000;font-size:14px}';
    $messaggio->Body .= '.down{font-family:Arial;text-align:left;font-size:14px}';
    $messaggio->Body .= '</style></head>';

    $messaggio->Body .= '<p align="center">[img]http://www.mesamis.it/immagini/logo.jpg[/img]


    </p>'
    ;
    $messaggio->Body .= '<table border=0>';
    $messaggio->Body .= '<tr><td class="up" colspan="2">Gentile Cliente, grazie per aver scelto il nostro form. 

    </td></tr>'
    ;
    $messaggio->Body .= '<tr><td class="up" colspan="2">Inviamo in allegato i dettagli dell’ordine effettuato in data '$giorno_inizio ' - ' .$mese_inizio' - ' .$anno_inizio .'


    </td></tr>'
    ;

    $messaggio->Body .= '</table>';

    $messaggio->Body .= 'Per visualizzare lo stato di lavorazione della sua camicia e visualizzare lo storico dei suoi ordini può accedere nell’area riservata del nostro sito: [url]http://www.mesamis.it/login.php[/url] inserendo


    Username: il suo cognome


    Password: suo indirizzo email





    Per ogni ulteriore esigenza, la nostra responsabile in show-room è sempre a sua disposizione.




    I migliori saluti. 

    '
    ;

    $messaggio->Body .= '<p align="center">  </p>';
    $messaggio->Body .= '</body></html>';

    $messaggio->Subject='conferma modifica ordine';

    $messaggio->AddStringAttachment($pdfdoc'se vuoi mettere un allegato''base64');



    if(!
    $messaggio->Send()) {
        echo 
    "errore nella spedizione: ".$messaggio->ErrorInfo;
    } else {
        echo 
    "messaggio inviato correttamente al cliente
     
    "
    ;


  10. #10
    con il piccolo script che ti ho postato prima, alla fine ti troverai un array così formato

    Codice PHP:
    $array = array('farinadibase1' => 'canapa_macinata''canapa_macinata' => 'valore''farinadibase2' => 'canapa_tostata''canapa_tostata' => 'valore', ........) //i puntini stanno per tutti gli altri campi 
    Io cambiere i valori dei checkbox in 0 se non cliccato e 1 se cliccato.
    Non so però se ti servono per forza i valori che hai inserito.

    Se ti serve solo sapere se attivare o no l'input text, allora metti 1 e 0.

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