Visualizzazione dei risultati da 1 a 10 su 10

Discussione: "semplice" form

  1. #1

    "semplice" form

    Ciao a tutti. Sono nuovo (e ignorante) e mi stavo cimentando con ASP (solo perchè il vecchio sito della mia azienda è stato scritto con questo linguaggio!).
    Ho seguito la guida di Giorgio Gobbo su html.it e mi sono soffermato sull'esempio della lezione n. 9 ("E adesso la vera ragione per cui adoperiamo tecnologie come ASP") per "sfruttare" l'esempio in essa riportato.
    Praticamente l'esempio spiega come poter inviare da un form di raccolta i dati nella nostra casella email. Ho provato, testato e...che bello: funziona!
    Beh, allora dove sta il problema, direte voi?!
    Il problema è che il form consta di 3 parti (2 text boxes, 1 textarea per i commenti) e ho notato che se nell'area chiamata "nome" scrivo "Paolo", tutto funziona a meraviglia e la mail viene recapitata nella mia casella. Se scrivo "Paolo Rossi", non arriva nulla!!
    Perchè mai?!

    Spero di esser stato chiaro e ringrazio anticipatamente coloro che vorranno aiutarmi un po'!

  2. #2
    Copia ed incolla qui il codice delle tue pagine asp.

  3. #3
    <%
    Option Explicit

    Dim form, nome
    %>

    <Html>
    <head>
    <title>Manda Feedback</title>
    </head>
    <body>
    <%

    call Main()

    Sub Main()

    'se la lungezza e' 0 non c'e niente nell email
    If Len(Request.Form("email")) = 0 then
    no_email()
    else
    manda_posta(form)
    ecco_fatto(nome)
    end if
    End sub

    Sub no_email()

    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>Nessuna E-mail?</td></tr>"
    response.write "<tr><td>Per favore, torni indietro e... </td></tr>"
    response.write "<tr><td align='middle'>"
    response.write "Provi di nuovo!"
    response.write "</td></tr></table></div>"
    End Sub

    Sub ecco_fatto(nome)

    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>Grazie " & nome & " per il quesito. I relatori Le risponderanno in sala alla prima data disponibile </td></tr>"
    response.write "<tr><td align='middle'>"
    response.write "Continua"
    response.write "</td></tr></table></div>"
    End sub

    Sub manda_posta(form)

    Dim email, citta, commenti
    Dim objMail, mandamiquesto

    nome = Request.Form("nome")
    citta = Request.Form("citta")
    email = Request.Form("email")
    commenti = Request.Form("commenti")

    mandamiquesto = nome & VBcrlf & VBcrlf & citta & Vbcrlf & VBcrlf & email & VBcrlf & VBcrlf & VBcrlf & commenti

    Set objMail = Server.CreateObject("CDONTS.NewMail")

    objMail.From = nome
    objMail.To = "xxx@xxx.it"
    objMail.Subject = "Quesito dal sito"
    objMail.Body = mandamiquesto

    objMail.importance = 1
    objMail.Send

    Set objMail = Nothing
    end sub
    %>
    </body>
    </html>

    Praticamente è lo stesso codice della guida. Ho aggiunto solo la variabile "città" perchè nel form html mi serve! Ho provato e riprovato e, effettivamente, se nel campo "nome" aggiungo spazi "Paolo Rossi", "Studio Rossi" non funziona! Diversamente, va alla grande! Io però nel campo del form "nome" voglio che venga inserito quel che si vuole e, vorrei, che mi fosse restituito tutto!
    Certo, mi piacerebbe anche che il risultato nella mail fosse un po' più bellino e riuscire a rendere i campi veramente obbligatori, ma questa è un altra storia!
    Come dicevo, sono "ignorante"!
    Grazie.

  4. #4
    La pagina con la form, per favore.

  5. #5
    <form action="manda_feedback.asp" method="post">


    </p>

    <div align="center">
    <table celpadding="2" border="0" width="720">

    <tbody>
    <tr>

    <td align="center" width="714">
    <h1><span class="style1">Richiesta quesiti</span>

    <hr style="background-color: rgb(218, 108, 0);" align="left" color="#da6c00" size="1"></h1>
    </td>

    </tr>

    <tr>
    <td align="center" width="714">


    <div align="center">

    <table celpadding="2" align="left" bgcolor="#ffffcc" border="0" width="79%">

    <tbody>
    <tr>

    <td bgcolor="#ff8f21" width="10%"></td>

    <td bgcolor="#ff8f21" width="29%"><span class="style2"><font size="2">Studio/Azienda</font>*</span></td>

    <td bgcolor="#ff8f21" width="61%">
    <input name="nome" size="40" maxlength="50" style="float: left;"></td>

    </tr>

    <tr>

    <td bgcolor="#ff8f21"></td>

    <td bgcolor="#ff8f21"><span class="style2"><font size="2">Citt&agrave; del corso</font>*</span></td>

    <td bgcolor="#ff8f21" valign="top">
    <input name="citta" size="40" maxlength="50" style="float: left;"></td>

    </tr>

    <tr>

    <td bgcolor="#ff8f21"></td>

    <td bgcolor="#ff8f21"><span class="style2"><font size="2">E-mail</font>*</span></td>

    <td bgcolor="#ff8f21" valign="top">
    <input name="email" size="40" maxlength="50" align="left"></td>

    </tr>

    <tr>

    <td bgcolor="#ff8f21" valign="top"></td>

    <td bgcolor="#ff8f21" valign="top"><span class="style5">Quesito</span>



    </p>




    </p>


    <p align="center"></p>


    <p align="center">[img]images/reco.gif[/img]</p>




    </p>




    </p>




    </p>




    </p>
    </td>

    <td bgcolor="#ff8f21"><textarea name="commenti" rows="10" cols="40"></textarea></td>

    </tr>

    <tr>

    <td bgcolor="#ff8f21" valign="top"></td>

    <td bgcolor="#ff8f21" valign="top"><span class="style6"><font size="1">*campi obbligatori</font></span></td>

    <td bgcolor="#ff8f21">

    <table celpadding="2" border="0" cellspacing="2" width="100%">

    <tbody>
    <tr>

    <td width="50%">

    <p align="center"><input name="invia" value="Invia" type="submit"></p>
    </td>

    <td width="50%">

    <p align="center"><input name="cancella" value="Cancella" type="reset"></p>
    </td>

    </tr>


    </tbody>
    </table>

  6. #6
    Adesso, dalla pagina ASP che riceve i dati e che invia la mail, commenta la riga Option Explicit mettendo un bel apice singolo davanti.
    ' Option Explicit
    Prova e vedi che succede.
    Se ti da errore generico 500, allora dalle opzioni avanzate di explorer TOGLI la spunta dalla voce Mostra messaggi di errore HTTP brevi.

  7. #7
    Nessun errore. E il problema si è riproposto ugualmente (anche perchè ho solo commentato).
    Il "gioco" funziona se nei campi del form non metto spazi.
    Se voglio aggiungere più informazioni (tipo: Studio Mario Rossi), la mail continua a non arrivare!

  8. #8
    Mi sa che come nome del mittente devi specificare un indirizzo email e non una stringa composta da testo e spazi
    objMail.From = nome

    nome deve contenere una email o quanto meno una stringa senza spazi.
    Altrimenti prova così:
    objMail.From = nome & " <nomail@nodomain.ext>"

  9. #9
    Abbiamo migliorato!
    L'unica cosa è questa: come mittente adesso mi arriva <false>! Nel corpo della mail mi arrivano tutti i dati che mi servono, ma il mittente sempre <false>!
    C'e' modo di ovviare?

    Già cmq mi hai dato una bella mano! GRAZIE.

  10. #10
    Ho "risolto" con:
    objMail.From = "Nome_Sito"

    Così già nel mittentente capisco da dove arriva.
    So che è una banalità, ma per me è già una conquista!

    Adesso mi occuperò di come vengono visualizzati i dati nel corpo della e-mail.

    Mems, grazie molte del prezioso aiuto!

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