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

    come rendere funzionante un form

    Buongiorno,

    gradirei l'aiuto di qualche buon anima esperta in materia di formulari. Mi esprimerò in modo molto semplice:

    vorrei rendere funzionante un formulario fatto (copiato e adattato) in html (vedi sotto), ovvero fare in modo che quando qualcuno lo compila e clicca "submit", il contenuto venga correttamente spedito ad un indirizzo email di mia scelta.
    So che per far ciò si deve caricare sul server un file con i relativi comandi in php, ma non so come si fa.

    Nel web non ho ancora trovato un tutorial che spieghi step-by-step come si fa.

    Confido nella vostra solidarietà


    ------------------------------ ecco il codice del form -------------------------------------------
    <form action="/php/frm.php" method="post">
    <input type="hidden" name="return" value="contact/contact-thanks" />
    <dl>
    <dt><label for="Subject2">Subject (required):</label></dt>
    <dd>


    I would like ...</p>
    <li class="contact"><input type="radio" name="subject" id="Subject2" value="opzione 1" /> opzione 1
    <li class="contact"><input type="radio" name="subject" id="Subject3" value="opzione 2" /> opzione 2
    <li class="contact"><input type="radio" name="subject" id="Subject4" value="opzione 3" /> opzione 3
    <li class="contact"><input type="radio" name="subject" id="Subject0" value="opzione 4" /> opzione 4
    </dd>
    <dt><label for="u_name">Name (required):</label></dt>
    <dd><input type="text" class="text" name="u_name" id="u_name" /></dd>
    <dt><label for="u_email">Email address (required):</label></dt>
    <dd><input type="text" class="text" name="u_email" id="u_email" /></dd>
    <dt><label for="u_url"><span class="caps">URL </span>(optional):</label></dt>
    <dd><input type="text" class="text" name="u_url" id="u_url" /></dd>
    <dt><label for="c_title">Message title (optional):</label></dt>
    <dd><input type="text" class="text" name="c_title" id="c_title" /></dd>
    <dt><label for="u_comment">Comment (required):</label></dt>
    <dd><textarea name="u_comment" id="u_comment" rows="8" cols="60"></textarea></dd>
    <dt>Verification (required):</dt>
    <dd>[img]/php/button.php[/img]</dd>
    <dd><input MAXLENGTH=5 SIZE=5 name="userdigit" type="text" class="verification" value="" /></dd>
    </dl>
    <input type="image" class="image" src="/images/submit.gif" />
    </form>
    -------------------------------------------------------------------------------------------------------

  2. #2
    allora, ti faccio io da step by step:

    primo passo:
    Devi creare un file .php a cui invierai i dati e che poi le eseguirà. In questo caso lo chiamiamo frm.php (come detto da te qui: <form action="/php/frm.php" method="post">) e ci scrivi
    Codice PHP:
    <?php
    che indica l'inizio dello script di ricezione. Questo file andrà poi messo nella cartella /php/ rispetto alla pagina html.

    secondo passo:
    ricaviamo i dati inviati dalla form html tramite questa variabile $_POST[''], quindi ad esempio per ricavare l'username useremo $_POST['u_name']
    quindi saputo questo organiziamo il testo da inviare via mail e lo mettiamo tutto in una variabile chiamata $mail_text, mettiamo tutto tra virgolette e inseriamo le variabili. Qui ti riporto un esempio per farti vedere:
    Codice PHP:
    $mail_text "Questa mail le è stata inviata da [email='{$_POST[']{$_POST['u_name']}[/email]\nLa sua scelta è stata: {$_POST['subject']}"; 
    la \n serve per mandare a capo nelle mail

    terzo passo:
    ora dichiariamo gli altri dati per la mail e la inviamo
    mettiamo nelle seguenti variabili l'email del destinatario e l'oggetto della mail: $mail_to, $mail_sbj, quindi un esempio può essere:
    Codice PHP:
    $mail_to "abc@dominio.ext";
    $mail_sbj "Forumlario da parte di {$_POST['u_name']}"
    quarto passo:
    inviamo la mail con il comando mail();
    qui di seguito l'esempio:
    Codice PHP:
    mail($mail_to$mail_sbj$mail_test); 
    quinto passo:
    terminiamo il tutto avvisando l'utente dell'avvenuto invio e con la chiusura del codice. Usiamo il comando print:
    Codice PHP:
    print "E-Mail inviata con successo";
    ?> 
    Ti riporto qui tutto il codice per intero (per tua facilità):
    Codice PHP:
    <?php
    $mail_text 
    "Questa mail le è stata inviata da [email='{$_POST[']{$_POST['u_name']}[/email]\nLa sua scelta è stata: {$_POST['subject']}";
    $mail_to = "abc@dominio.ext";
    $mail_sbj = "Forumlario da parte di {$_POST['
    u_name']}";
    mail($mail_to, $mail_sbj, $mail_test);
    print "E-Mail inviata con successo";
    ?>
    attento ai ; e alle ' e " che molte volte creano problemi. Ricordati di mettere le variabili trà {} se si trovano all'interno di due "" perchè se no non ne viene stampato il contenuto ma viene stampato quelloc he hai scritto.

    spero di essere stato abbastanza chiaro, per la funzione mail del php ti puoi informare qui:
    http://it.php.net/manual/it/function.mail.php

    se il codice non và avvisami (me lo sn invenato ora)

    Buon Lavoro Mix

    Errare e' umano, ma per fare veramente casino serve la password di root.
    Coltiva Linux........Tanto windows si impianta da solo!!!!!
    PHP 4 Ever

  3. #3
    Ciao Mix,

    grazie mille per il tuo sforzo!
    Ho adattato le tue spiegazioni e ora il formulario funziona ! Ti offro una birra virtuale!
    Visto che sei stato così bravo, mi permetto di porti qualche altra domanda:

    1) vorrei dare la possibilità, a chi mi contatta, di uploadare e spedirmi un file allegato. Hai per caso un esempio del codice html da inserire e del relativo codice php da aggiungere al file frm.php?

    2)vorrei rendere dei campi del formulario obbligatori es: u_name, u_email, u_comment. Sai dirmi il codice php per fare ciò?

    3)vorrei inserire un metodo anti-spam, tipo quelle parole o numeri scritti un po' distorti che bisogna copiare per validare la richiesta (mi faccio capire?). Hai qualche buon suggerimento?

    Ti ringrazio ancora per il tuo prezioso aiuto e attendo con impazienza le tue spiegazioni

    ------------------qui il mio file frm.php come si presenta ora -----------------------------
    <?php
    $mail_text = "Email inviato da: {$_POST['u_name']}\n\n
    Scelta: {$_POST['subject']}\n\n
    Indirizzo: {$_POST['u_email']}\n\n
    Sito web: {$_POST['u_url']}\n\n
    Titolo: {$_POST['c_title']}\n\n
    Commento: {$_POST['u_comment']}";

    $mail_to = "indirizzo@dominio.ext";
    $mail_sbj = "Formulario inviato da {$_POST['u_name']}";
    mail($mail_to, $mail_sbj, $mail_text);
    print "richiesta inviata con successo";
    ?>
    -------------------------------------------------------------------------------------------------

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.