Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: Forma che non invia

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210

    Forma che non invia

    Fino ad ora ho sempre lavorato in flash e html e sto studiando l'asp da pochissimo sulle guide di html.it
    Non riesco a far funzionare nemmeno il semplicissimo form che c'è in uno dei primissimi esempi, per cui o c'è qualcosa che sbaglio inavvertitamente o c'è qualcosa che nei tutorial viene omesso dando per scontato che la si sappia e invece io non la so.

    La guida è qua: http://asp.html.it/guide/lezione/197...eriamo-tecnol/

    Nel file feedback.asp ho messo come action
    <FORM ACTION="manda_feedback.asp" METHOD="post">

    visto che sono entrambi nella stessa cartella. Nel file manda_feedback ho sostituito in objMail.To "" il mio indirizzo mail.

    Le ho messe in rete in un server in cui l'asp è abilitato, (le ho testate anche in locale con iies tramite dreamweaver) e la cosa strana è che la pagina col form si vede e la seconda funziona a metà, cioè se non compilo il campo mail funziona la Sub no_email() di manda_feedback.asp (che quindi si apre) e mi avverte di conpilare il campo mail. Se compilo tutti i campi e cerco di inviare il form ricevo un messaggio di errore senza nessuna indicazione particolare:
    HTTP 500 - Errore interno del server . Questo sia in locale che in rete.
    Perchè?

    P.s. Molti tutorial realizzati per i neofiti è vero che danno per scontate troppe cose come se fossero note a chiunque. Io, per esempio, non sapendo niente sull'argomento non sapevo nemmeno che bisognava installare iies (che solitamente non c'è) dal disco di XP e poi testare le pagine lì. Ci sono dovuto arrivare da solo... ho perso una marea di tempo inutilmente e sono diventato più scemo di quanto già non ero...(e non è poco).
    Grazie a tutti, ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210

    Aaaaalt!

    aaaaaaalt!
    Ho omesso una cosa.
    Se lo testo in locale nella pagina di errore che si apre ricevo:


    Tipo di errore:
    Oggetto Server, ASP 0177 (0x800401F3)
    Stringa dell'interfaccia non valida.
    /sito senza nome 2/manda_feedback.asp, line 82


    Tipo di browser:
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

    Pagina:
    POST 50 bytes to /sito senza nome 2/manda_feedback.asp

    POST Data:
    nome=&email=dgergreg&commenti=&parla=parla+con+noi

    Nella riga 82 di manda_feedback c'è:
    Set objMail = Server.CreateObject("CDONTS.NewMail")

    Non so se può essere d'aiuto.
    ariciao!

  3. #3
    Posta magari un po' di codice delle due pagine.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210

    eccolo

    Il codice delle pagine c'è nel link che ho segnalato sopra cmq lo rimetto qua.

    Pagina feedback.asp:

    <HTML>
    <HEAD>
    <TITLE>Feedback Form</TITLE>
    </head>
    </HEAD>
    <BODY>
    <FORM ACTION="manda_feedback.asp" METHOD="post">
    <div align="center">
    <table border="0" width="85%" celpadding="2" cellspacing="2">
    <tr>
    <td>
    <h1>Grazie per....<hr align="LEFT" size="1" width="100%" color="navy"></h1>
    </td>
    </tr>
    <tr>
    <td>Se avete....</td>
    </tr>
    <td align="center">


    <table width="60%" border="0" celpadding="2" cellspacing="2">
    <tr>
    <td>Nome</td>
    <td><INPUT NAME="nome" TYPE="TEXT" size=24 MAXLENGTH=50></td>
    </tr>
    <tr>
    <td>email</td>
    <td valign="top">
    <INPUT NAME="email" TYPE="TEXT" ALIGN=left size=24 MAXLENGTH=50>
    </td>
    </tr>
    <tr>
    <tr>
    <td valign="top">Commenti</td>
    <td><TEXTAREA NAME="commenti" ROWS=7 COLS=40></TEXTAREA></td>
    </tr>
    <tr>
    <td valign="top"></td>
    <td>
    <table width="100%" border="0" celpadding="2" cellspacing="2">
    <tr>
    <td>
    <INPUT TYPE=checkbox NAME="notifyme" VALUE="yes" UNCHECKED>
    </td>
    <td>Vi interessa ricevere....</td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <table width="50%" border="0" celpadding="6" cellspacing="2">
    <tr>
    <td><INPUT TYPE="submit" NAME="parla" VALUE="parla con noi"></td>
    <td align="right">
    <INPUT TYPE="reset" NAME="nograzie" VALUE="no grazie">
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </div>
    </FORM>
    </BODY>
    </HTML>


    Pagina manda_feedback:

    <%
    Option Explicit
    '--------------------------------------------------------
    'Purpose: processes the feedback mail
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    Dim form, nome
    %>
    <Html>
    <head>
    <title>Manda Feedback</title>
    </head>
    <body>
    <%
    call Main()
    Sub Main()
    '--------------------------------------------------------
    'Purpose: la logica dell'applicazione
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    'se la lungezza è 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()
    '--------------------------------------------------------
    'Purpose: manda un messaggio se email è vuoto
    'Date: 10 March 2001
    'Commenti: potevamo usare javascript per forzare il cliente
    'ma questi sono esempi di ASP
    '--------------------------------------------------------
    'allora diciamo al cliente che senza una email non possiamo rispondergli
    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>niente email...?</td></tr>"
    response.write "<tr><td>per favore, torna indiedro e... </td></tr>"
    response.write "<tr><td align='middlè>"
    response.write "Prova di nuovo"
    response.write "</td></tr></table></div>"
    End Sub
    Sub manda_posta(form)
    '--------------------------------------------------------
    'Purpose: manda la email
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    Dim email, commenti
    Dim objMail, mandamiquesto
    'facciamo la vendemmia dell'input
    nome = Request.Form("nome")
    email = Request.Form("email")
    commenti = Request.Form("commenti")
    mandamiquesto = nome & "VBcrlf" & email & "Vbcrlf" & commenti
    'costruiamo un NewMail oggetto
    Set objMail = Server.CreateObject("CDONTS.NewMail")
    'adesso che abbiamo accesso a tuttle le sue proprieta, usiamole
    'prendiamo il nome dal Form di input
    objMail.From = nome
    'mandiamola a me, va&46;&46;&46;
    objMail.To = "giorgiogobbo@hotmail.com"
    'mettiamoci un riga per il titolo
    objMail.Subject = "Feedback dal sito"
    'e nel corpo ci mettiamo la stringa che abbiamo costruito
    objMail.Body = mandamiquesto
    'al momento è poco importante, direi
    objMail.importance = 0
    'e via che va
    objMail.Send
    'e adesso puliamo prima di andarcene
    Set objMail = Nothing
    end sub
    Sub ecco_fatto(nome)
    '--------------------------------------------------------
    'Purpose: manda un ringraziamento
    'Date: 10 March 2001
    'Commenti:
    '--------------------------------------------------------
    response.write "<div align='center'>"
    response.write "<table border='0' width='80%' cellspadding='4' cellspacing='4'>"
    response.write "<tr><td>Grazie " & nome & " per il...</td></tr>"
    response.write "<tr><td align='middlè>"
    response.write "Continua"
    response.write "</td></tr></table></div>"
    End sub
    %>
    </body>
    </html>

    La guida mi sembrava piuttosto chiara infatti non credevo di avere problemi, ma non mi funge

  5. #5
    Sei sicuro di avere l'oggetto CDONTS installato?
    Leggi qui, crea una pagina con quel codice, caricala sul server e richiamala. Vedrai se CDONTS è installato.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    VVoVe:

    Solo 6 componenti installati su 55. Questi:

    ActiveX Data Object
    CDOSYS
    File System Object
    Microsoft XML Engine
    Microsoft XML HTTP
    ADODB Stream

    Ma.. come lo installo? dove lo trovo?

  7. #7
    se ho capito bene hai il componente CDOSYS installato, perchè non usi quello?
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  8. #8
    Infatti, CDONTS non è installato.
    Sei su un server win 2003 (sicuro al 99%).
    E come ti ha suggerito salvodibella, devi usare CDOSYS per spedire email.

    Così:

    codice:
    Set myMail = CreateObject("CDO.Message")
    myMail.Subject = "OGGETTO DEL MESSAGGIO"
    myMail.From = "EMAIL MITTENTE"
    myMail.To = "EMAIL DESTINATARIO"
    'myMail.Bcc = 
    'myMail.Cc =
    myMail.TextBody = "TESTO DELLA MAIL" & VbCrLf
    myMail.Send
    
    Set myMail = Nothing

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    Ah! Nel frattempo sono riuscito a trovare cdont.dll e a installarlo. In locale non mi da più errori anche se non mi spedisce nulla (mmmah) però sul server in rete continua a non funzionare (che non l'abbiano loro? e in questi casi che si fa? li contatto e gli chiedo di installarsi la dll?)

    Cmq anche volendo usare quest'altro metodo ho notato che usi cose un pò diverse, io avevo questo

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

    objMail.From = nome
    objMail.To = "pippo@yahoo.it"
    objMail.Subject = "Feedback dal sito"
    objMail.Body = mandamiquesto

    objMail.importance = 0
    objMail.Send

    Set objMail = Nothing

    objMail.From non lo posso usare? Poi tu utilizzi CreateObject("CDO.Message") e non Server.CreateObject devo fare anchio così? e basta sostituire cdonts.newmail con cdo.message? Non funzionerebbe cdo.newmail?
    Anche per pulire questo usava set objMail mentre tu scrivi myMail... ma... è indifferente?
    Sto facendo confusione?
    Comunque grazie tantissimo, senza le vostre info ero ancora li a tentare a vuoto!

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    Ho provato così:

    Set objMail = CreateObject("CDO.Message")

    objMail.From = nome
    objMail.To = "angelo.doddis@yahoo.it"
    objMail.Subject = "Feedback dal sito"
    objMail.Body = mandamiquesto

    objMail.importance = 0
    objMail.Send

    Set objMail = Nothing

    In locale e mi da questo errore:

    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A01B6)
    Proprietà o metodo non supportati dall'oggetto: 'objMail.Body'
    /sito senza nome 2/manda_feedback.asp, line 87


    Tipo di browser:
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

    Pagina:
    POST 50 bytes to /sito senza nome 2/manda_feedback.asp

    POST Data:
    nome=&email=dsfgsdfg&commenti=&parla=parla+con+noi

    Ora:
    lunedì 5 giugno 2006, 0.58.55

    Adesso non gli piace
    objMail.Body = mandamiquesto

    eppure alla riga 74 io ho messo

    Dim objMail, mandamiquesto

    quindi erano inizializzate (si dice così?)

    Bbbah!

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.