Visualizzazione risultati 1 fino 6 di 6

Discussione: Form per invio e-mail direttamente dal sito

  1. #1
    Guest

    Predefinito Form per invio e-mail direttamente dal sito

    Dopo aver navigato un pò in rete ed essere rimasto un pò deluso da i Form trovati ho deciso di usare le mie più che caretti basi di php (da autoditta e un paio di giorni che ci ho messo mano) per creare un piccolo form di invio e-mail.
    Il form permette ad utenti e visitatori del mio sito di inviarmi direttamente un e-mail, basta che specifichino un indirizzo e-mail valido, e a piacere un oggetto e ovviamente un messaggio. Obbligatorio il rispondere ad un domanda per scartare i bot, impendendo che mi intasino l'email di spamm. Ma non capisco perchè, la cosa non va, mi date una mano?
    Ecco il form che invia i dati e il codice PHP che ellabora la richiesta ed invia l'email:
    Codice HTML:
    <form method="post" action="mail.php">
    <b>La tua e-mail</b>	<input type="text" name="mitt"><br><br>
    <b>L'oggetto della tue e-mail</b>	<input type="text" name="ogg"><br><br>
    <b>Inserisci il tuo messaggio</b><br>
    <textarea name="mess" rows="12" cols="54"></textarea><br>
    <b>Per motivi di sicurezza rispondi a questa semplice domanda:<br>
    2+3=</b>	<input type="text" name="ver"><br><br>
    <input type="submit" value="Invia"> <input type="reset" value="Cancella">
    </form>
    Codice PHP:
    <?
    if ($_POST['ver'] == 5);
    {
    $mittente = $_POST['mitt'];
    if(
    eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $mittente))
    {
    $oggetto = $_POST['ogg'];
    $messaggio = $_POST['mess'];
    mail("la mia mail", "$oggetto", "$messaggio", "From: $mittente");
    ?>
    <div align="center">e-mail inviata con successo, riceverei presto una risposta<br>
    Grazie per averci contattato<br>
    <input type="button" value="Indietro" onClick="javascript:history.go(-1)"></div>
    <?
    }
    else
    {
    ?>
    <div align="center">Indirizzo <? echo $mittente ?> non valido, riprova<br>
    <input type="button" value="Indietro" onClick="javascript:history.go(-1)"></div>
    <?
    }
    }
    else
    // Ecco il problema
    {
    ?>
    <div align="center"><? echo $_POST['ver'] ?> non è la risposta esatta, riprova<br>
    <input type="button" value="Indietro" onClick="javascript:history.go(-1)"></div>
    <?
    }
    ?>
    L'else che vi ho evidenziato dovrebbe generare un messaggio di errore se la risposta data alla mia domanda non è quella corretta, ma invece, mi dice:
    Parse error: syntax error, unexpected T_ELSE in /membri/morgensterngdr/mail.php on line 24
    chiedo il vostro aiuto, perchè sono in un vicolo cieco. Grazie a tutti delle risposte.

  2. #2
    Guest

    Predefinito

    Nel secondo rigo hai messo un punto e virgola non necessario e l'errore ricade sul rigo 24.

    Dovrebbe essere:
    Codice PHP:
    if ($_POST['ver'] == 5)
    {
    // codice
    }
    e non:
    Codice PHP:
    if ($_POST['ver'] == 5);
    {
    // codice
    }
    Ultima modifica di nokiagames : 09-06-2009 alle ore 17.02.24

  3. #3
    Guest

    Predefinito

    Grazie mille nokiagames, funziona perfettamente.
    Grazie della rapidità e della precisione.

  4. #4
    lucatartufari non è connesso Utente giovane
    Data registrazione
    01-03-2007
    Residenza
    Reggio Emilia
    Messaggi
    46

    Predefinito

    Io sono molto meno esperto di voi ma col copia e incolla me la cavo ;P spero di non sbagliare la location.
    Il mio problema è il seguente:
    Ho acquistato un sito che sto modificando a mio piacimento per poi usarlo in rete, il form sfortunatamente era praticamente disegnato ma non c'erano manco i tag <form> nel codice, vi posto il codice:

    <!-- Inizio FORM invio dati -->
    <form action="mailto:multiutility@hotmail.it" subject="Richiesta contatto"
    enctype="text/plain" method="POST">
    <div class="tab2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="23%" height="20" class="colorchange2">Nominativo*:</td>
    <td width="77%" height="20"><input type=text name=Nominativo class="field" /></td>
    </tr>
    <tr>
    <td height="20" class="colorchange2">Società:</td>
    <td height="20"><input type=text name=Società class="field" /></td>
    </tr>
    <tr>
    <td height="20" class="colorchange2">Telefono*:</td>
    <td height="20"><input type=text name=Telefono class="field" /></td>
    </tr>
    <tr>
    <td height="20" class="colorchange2">E-mail*:</td>
    <td height="20"><input type=text name=E-mail class="field" /></td>
    </tr>
    <tr>
    <td valign="top" class="colorchange2">Messaggio*:</td>
    <td><textarea name="Messaggio" class="message">&nbsp;</textarea>

    <div style="margin-top:25px;"> <button type="reset"
    name="Cancella"> <input type="image" src="images/contacts-reset.jpg" width=108 height=25>
    </button><button type="submit"
    name="Invia"> <input type="image" src="images/contacts-send.jpg" width=108 height=25></button>
    </div>

    <!-- <div style="margin-top:25px;"><img src="images/contacts-reset.jpg" /><img src="images/contacts-send.jpg" /></div> -->


    </td>
    </tr>
    </table>
    </form>
    <!-- Fine FORM invio dati -->

    Ora non capisco perché le immagini che sostituiscono i bottoni non siano visibili (ho caricato il sito prova su 1 server di appoggio potete vedere questa pagina a questo link http://lucatartufari.ilbello.com/contacts.htm
    il micro tastino reset sembra funzionare ma il tasto "Invia" vorrei che inviasse i dati senza aprire il programma per invio e-mail e restituisse un semplice alert che dice magari "Grazie per averci contattato, un nostro consulente la richiamerà il prima possibile" o comunque una cosa simile e vorrei poter bloccare il form con 1 altro alert se mancano i campi con l'asterisco potete aiutarmi dandomi anche solo i link ai post se ce ne sono? sul web non ho trovato nulla che sia riuscito a risolvere il mio problema, ho il manuale html4.01 apogeo wrox e nemmeno con quello ci sono riuscito, lì ad esempio mi dice (pag. 108) che per mettere una immagine al posto del pulsante devo scrivere:

    <button type="submit"><img src="wrox.gif" width=32 height32></button> eppure non funziona forse sarà perché la mi aimmagine è jpg e non gif?
    scusate l'ignoranza aspetto con ansia vostre illuminazioni!!
    grazie.

  5. #5
    Guest

    Cool

    le immagini le devi copiare e incollare nella cartella del sito....

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito



    Son passati 3 anni. Non credi abbia già risolto?

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •