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
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    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
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

  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
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    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.
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

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

  7. #7
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    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
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

  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
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    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.
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

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.