Avatar billede KSN Mester
07. november 2006 - 20:27 Der er 23 kommentarer og
1 løsning

Hjælp til form/asp

Kan ikke for min form til at virke. Når jeg trykker send, kommer min "fejl side" frem.
Her er mit asp.
Hvor er fejlen?
Er rimelig ny i asp

<%
Dim EmailTo
Dim navn
Dim tlfnr
Dim email
Dim valg1
Dim valg2
Dim emne

EmailTo = "web@vikanit.dk"
navn = Trim(Request.Form("navn"))
tlfnr = Trim(Request.Form("tlfnr"))
email = Trim(Request.Form("email"))
valg1 = Trim(Request.Form("valg1"))
valg2 = Trim(Request.Form("valg2"))
emne = Trim(Request.Form("emne"))

Dim validationOK
validationOK=true
If (Trim(navn)="") Then validationOK=false
If (Trim(tlfnr)="") Then validationOK=false
If (Trim(email)="") Then validationOK=false
If (Trim(valg1)="") Then validationOK=false
If (Trim(valg2)="") Then validationOK=false
If (Trim(emne)="") Then validationOK=false
If (validationOK=false) Then
  Response.Redirect("fejl.htm?" & EmailFrom) 
end if

Dim Body
Body = Body & "navn: " & navn & VbCrLf
Body = Body & "tlfnr: " & tlfnr & VbCrLf
Body = Body & "email: " & email & VbCrLf
Body = Body & "valg1: " & valg1 & VbCrLf
Body = Body & "valg2: " & valg2 & VbCrLf
Body = Body & "emne: " & emne & VbCrLf

Dim mail
Set mail = Server.CreateObject("JMail.Message")
mail.To = EmailTo
mail.Body = Body
mail.Send

Response.Redirect("sendt.htm?" & EmailFrom)
%>
Avatar billede madeindk Nybegynder
07. november 2006 - 20:51 #1
Hej, jeg har lige kiggede lidt på din kode og rettet lidt i den :-)

<%
Dim EmailTo
Dim navn
Dim tlfnr
Dim email
Dim valg1
Dim valg2
Dim emne

EmailTo = "web@vikanit.dk"
navn = Trim(Request.Form("navn"))
tlfnr = Trim(Request.Form("tlfnr"))
email = Trim(Request.Form("email"))
valg1 = Trim(Request.Form("valg1"))
valg2 = Trim(Request.Form("valg2"))
emne = Trim(Request.Form("emne"))

strValidate = "true"

' Tjekker navn
If Trim(navn)) = "" Then
  strValidate = "false"
End If

' Tjekker tlf nr
If Trim(tlfnr)) = "" Then
  strValidate = "false"
End If

' Tjekker email
If Trim(email)) = "" Then
  strValidate = "false"
End If

' Tjekker valg1
If Trim(valg1)) = "" Then
  strValidate = "false"
End If

' Tjekker valg2
If Trim(valg2)) = "" Then
  strValidate = "false"
End If

' Tjekker emne
If Trim(emne)) = "" Then
  strValidate = "false"
End If

If strValidate = "false" Then
  ' Dette skriver den hvis der opstår en fejl
  Response.Write("Der opstod en fejl i valideringen af dine felter.")
end if

Dim Body
Body = Body & "navn: " & navn & VbCrLf
Body = Body & "tlfnr: " & tlfnr & VbCrLf
Body = Body & "email: " & email & VbCrLf
Body = Body & "valg1: " & valg1 & VbCrLf
Body = Body & "valg2: " & valg2 & VbCrLf
Body = Body & "emne: " & emne & VbCrLf

Set mail = Server.CreateObject("JMail.Message")

mail.To = EmailTo
mail.Body = Body
mail.Send

Set mail = Nothing

' Dette skriver den hvis det lykkedes
Response.Write("Mailen blev sendt korrekt!")
%>
Avatar billede madeindk Nybegynder
07. november 2006 - 20:52 #2
Den skal selvfølgelig ikke sende mailen hvis valideringen fejler :-)

<%
Dim EmailTo
Dim navn
Dim tlfnr
Dim email
Dim valg1
Dim valg2
Dim emne

EmailTo = "web@vikanit.dk"
navn = Trim(Request.Form("navn"))
tlfnr = Trim(Request.Form("tlfnr"))
email = Trim(Request.Form("email"))
valg1 = Trim(Request.Form("valg1"))
valg2 = Trim(Request.Form("valg2"))
emne = Trim(Request.Form("emne"))

strValidate = "true"

' Tjekker navn
If Trim(navn)) = "" Then
  strValidate = "false"
End If

' Tjekker tlf nr
If Trim(tlfnr)) = "" Then
  strValidate = "false"
End If

' Tjekker email
If Trim(email)) = "" Then
  strValidate = "false"
End If

' Tjekker valg1
If Trim(valg1)) = "" Then
  strValidate = "false"
End If

' Tjekker valg2
If Trim(valg2)) = "" Then
  strValidate = "false"
End If

' Tjekker emne
If Trim(emne)) = "" Then
  strValidate = "false"
End If

If strValidate = "false" Then
    ' Dette skriver den hvis der opstår en fejl
    Response.Write("Der opstod en fejl i valideringen af dine felter.")
Else

    Dim Body
    Body = Body & "navn: " & navn & VbCrLf
    Body = Body & "tlfnr: " & tlfnr & VbCrLf
    Body = Body & "email: " & email & VbCrLf
    Body = Body & "valg1: " & valg1 & VbCrLf
    Body = Body & "valg2: " & valg2 & VbCrLf
    Body = Body & "emne: " & emne & VbCrLf
   
    Set mail = Server.CreateObject("JMail.Message")
   
    mail.To = EmailTo
    mail.Body = Body
    mail.Send
   
    Set mail = Nothing
   
    ' Dette skriver den hvis det lykkedes
    Response.Write("Mailen blev sendt korrekt!")
End If
%>
Avatar billede Slettet bruger
07. november 2006 - 20:57 #3
hmm... jeg kan ikke sådán lige umiddelbart se hvor fejlen er, men jeg tror nu også at hvis jeg var dig, så ville jeg vælge at skrive alt dette her anderledes... Måske sådan her:
<%
EmailTo = "web@vikanit.dk"
navn = Request.Form("navn")
tlfnr = Request.Form("tlfnr")
email = Request.Form("email")
valg1 = Request.Form("valg1")
valg2 = Request.Form("valg2")
emne = Request.Form("emne")
if isnull(navn)=True then
response.redirect "fejl.htm"
elseif isnull(tlfnr)=True then
response.redirect "fejl.htm"
elseif isnull(email)=True then
response.redirect "fejl.htm"
elseif isnull(valg1)=True then
response.redirect "fejl.htm"
elseif isnull(valg2)=True then
response.redirect "fejl.htm"
elseif isnull(emne)=True then
response.redirect "fejl.htm"
else
Dim Body
Body = Body & "navn: " & navn & VbCrLf
Body = Body & "tlfnr: " & tlfnr & VbCrLf
Body = Body & "email: " & email & VbCrLf
Body = Body & "valg1: " & valg1 & VbCrLf
Body = Body & "valg2: " & valg2 & VbCrLf
Body = Body & "emne: " & emne & VbCrLf
Set mail = Server.CreateObject("JMail.Message")
mail.From = "DinEmial@Domain.dk"
mail.FromName = "Dit navn"
mail.AddRecipient EmailTo
mail.Subject = emne
mail.Body = Body
mail.Send
Set mail=nothing
Response.Redirect "sendt.htm"
end if

\Dan
Avatar billede KSN Mester
07. november 2006 - 21:00 #4
TIL MADEINDK

Denne fejl kommer frem

Microsoft VBScript compilation error '800a03f9'

Expected 'Then'

/kontakt.asp, line 21

If Trim(navn)) = "" Then
Avatar billede KSN Mester
07. november 2006 - 21:01 #5
TIL DANNIELSEN

Denne fejl kommer frem

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'mail.Send'

/kontakt.asp, line 35
Avatar billede madeindk Nybegynder
07. november 2006 - 21:06 #6
<%
Dim EmailTo
Dim navn
Dim tlfnr
Dim email
Dim valg1
Dim valg2
Dim emne

EmailTo = "web@vikanit.dk"
navn = Trim(Request.Form("navn"))
tlfnr = Trim(Request.Form("tlfnr"))
email = Trim(Request.Form("email"))
valg1 = Trim(Request.Form("valg1"))
valg2 = Trim(Request.Form("valg2"))
emne = Trim(Request.Form("emne"))

strValidate = "true"

' Tjekker navn
If navn = "" Then
  strValidate = "false"
End If

' Tjekker tlf nr
If tlfnr = "" Then
  strValidate = "false"
End If

' Tjekker email
If email = "" Then
  strValidate = "false"
End If

' Tjekker valg1
If valg1 = "" Then
  strValidate = "false"
End If

' Tjekker valg2
If valg2 = "" Then
  strValidate = "false"
End If

' Tjekker emne
If emne = "" Then
  strValidate = "false"
End If

If strValidate = "false" Then
  ' Dette skriver den hvis der opstår en fejl
  Response.Write("Der opstod en fejl i valideringen af dine felter.")
end if

Dim Body
Body = Body & "navn: " & navn & VbCrLf
Body = Body & "tlfnr: " & tlfnr & VbCrLf
Body = Body & "email: " & email & VbCrLf
Body = Body & "valg1: " & valg1 & VbCrLf
Body = Body & "valg2: " & valg2 & VbCrLf
Body = Body & "emne: " & emne & VbCrLf

Set mail = Server.CreateObject("JMail.Message")

mail.To = EmailTo
mail.Body = Body
mail.Send

Set mail = Nothing

' Dette skriver den hvis det lykkedes
Response.Write("Mailen blev sendt korrekt!")
%>
Avatar billede madeindk Nybegynder
07. november 2006 - 21:07 #7
Hold da helt fest hvor jeg bare tåger i dag, jeg kopieret den forkerte kode.

<%
Dim EmailTo
Dim navn
Dim tlfnr
Dim email
Dim valg1
Dim valg2
Dim emne

EmailTo = "web@vikanit.dk"
navn = Trim(Request.Form("navn"))
tlfnr = Trim(Request.Form("tlfnr"))
email = Trim(Request.Form("email"))
valg1 = Trim(Request.Form("valg1"))
valg2 = Trim(Request.Form("valg2"))
emne = Trim(Request.Form("emne"))

strValidate = "true"

' Tjekker navn
If navn = "" Then
  strValidate = "false"
End If

' Tjekker tlf nr
If tlfnr = "" Then
  strValidate = "false"
End If

' Tjekker email
If email = "" Then
  strValidate = "false"
End If

' Tjekker valg1
If valg1 = "" Then
  strValidate = "false"
End If

' Tjekker valg2
If valg2 = "" Then
  strValidate = "false"
End If

' Tjekker emne
If emne = "" Then
  strValidate = "false"
End If

If strValidate = "false" Then
    ' Dette skriver den hvis der opstår en fejl
    Response.Write("Der opstod en fejl i valideringen af dine felter.")
Else

    Dim Body
    Body = Body & "navn: " & navn & VbCrLf
    Body = Body & "tlfnr: " & tlfnr & VbCrLf
    Body = Body & "email: " & email & VbCrLf
    Body = Body & "valg1: " & valg1 & VbCrLf
    Body = Body & "valg2: " & valg2 & VbCrLf
    Body = Body & "emne: " & emne & VbCrLf
   
    Set mail = Server.CreateObject("JMail.Message")
   
    mail.To = EmailTo
    mail.Body = Body
    mail.Send
   
    Set mail = Nothing
   
    ' Dette skriver den hvis det lykkedes
    Response.Write("Mailen blev sendt korrekt!")
End If
%>
Avatar billede KSN Mester
07. november 2006 - 21:12 #8
Ehh nu siger den så
"Der opstod en fejl i valideringen af dine felter."
Avatar billede madeindk Nybegynder
07. november 2006 - 21:20 #9
Ok - er det godt eller skidt? :)
Avatar billede KSN Mester
07. november 2006 - 21:26 #10
Jah. Det er vel skidt. For så sender den jo ikke formen.
Det var også det jeg kom frem til med min egen asp fil.
Kan man ikke fjerne validering?
Avatar billede ellebaek Nybegynder
07. november 2006 - 21:45 #11
er du sikker på at formens navne alle hedder det du kalder dem her i asp-filen..?
Alternativt kan du tjekke hvilken der er problemer med sådan her:

<%
Dim EmailTo
Dim navn
Dim tlfnr
Dim email
Dim valg1
Dim valg2
Dim emne

EmailTo = "web@vikanit.dk"
navn = Trim(Request.Form("navn"))
tlfnr = Trim(Request.Form("tlfnr"))
email = Trim(Request.Form("email"))
valg1 = Trim(Request.Form("valg1"))
valg2 = Trim(Request.Form("valg2"))
emne = Trim(Request.Form("emne"))

strValidate = "true"

' Tjekker navn
If navn = "" Then
  response.write "navn"
  strValidate = "false"
End If

' Tjekker tlf nr
If tlfnr = "" Then
  response.write "tlfnr"
  strValidate = "false"
End If

' Tjekker email
If email = "" Then
  response.write "email"
  strValidate = "false"
End If

' Tjekker valg1
If valg1 = "" Then
  response.write "valg1"
  strValidate = "false"
End If

' Tjekker valg2
If valg2 = "" Then
  response.write "valg2"
  strValidate = "false"
End If

' Tjekker emne
If emne = "" Then
  response.write "emne"
  strValidate = "false"
End If

If strValidate = "false" Then
    ' Dette skriver den hvis der opstår en fejl
    Response.Write("Der opstod en fejl i valideringen af dine felter.")
Else

    Dim Body
    Body = Body & "navn: " & navn & VbCrLf
    Body = Body & "tlfnr: " & tlfnr & VbCrLf
    Body = Body & "email: " & email & VbCrLf
    Body = Body & "valg1: " & valg1 & VbCrLf
    Body = Body & "valg2: " & valg2 & VbCrLf
    Body = Body & "emne: " & emne & VbCrLf
 
    Set mail = Server.CreateObject("JMail.Message")
 
    mail.To = EmailTo
    mail.Body = Body
    mail.Send
 
    Set mail = Nothing
 
    ' Dette skriver den hvis det lykkedes
    Response.Write("Mailen blev sendt korrekt!")
End If
%>
Avatar billede KSN Mester
07. november 2006 - 21:48 #12
Tjekke hvordan? :S

Her er min htm.

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
    background-image: url(img/sstregback.jpg);
    background-color: #71A7D9;
    margin: 10px;
    padding:5px;
    scrollbar-3d-light-color: #71A7D9;
    scrollbar-arrow-color:black;
    scrollbar-dark-shadow-color: #71A7D9;
    scrollbar-face-color: #9cc8f2;
    scrollbar-highlight-color: #71A7D9;
    scrollbar-shadow-color: #71A7D9;
}
.style4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #542927; font-weight: bold; }
.style21 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #542927;
}
-->
</style>
</head>


<p align="center" class="style21">
Siden virker midlertidigt ikke, og der henvises
derfor ti<br>
e-mail eller tlf. nr. på forsiden.</p>

<form method="POST" action="kontakt.asp">
  <p align="center" class="style21"><span class="style21">Navn: </span><br>
    <input name="Navn" type="text" class="style21">

<p align="center"><span class="style21">Tlf. nr.: </span><br>
<input name=tlfnr" type="text" class="style21">

<p align="center"><span class="style21">E-mail: </span><br>
<input name="email" type="text" class="style21">

<p align="center">
  <label><span class="style21">Jeg vil kontaktes angående:</span><br />
  <select name="valg1" class="style21">
    <option>V&aelig;lg</option>
    <option>Masseovne</option>
    <option>Stenbr&aelig;ndeovne</option>
    <option>Udstilling</option>
    <option>Andet</option>
  </select>
  </label>

<p align="center">
  <label><span class="style21">Jeg ønskes kontaktet pr.</span><br />
  <select name="valg2" class="style21">
    <option>V&aelig;lg</option>
    <option>Telefon</option>
    <option>E-mail</option>
  </select>
  </label>

<p align="center"><span class="style21">Hvis du har  kommentarer eller sp&oslash;rgsm&aring;l,<br>
  kan disse skrives her:</span><br>
  <textarea name="emne" rows="5" class="style21"></textarea>

<p align="center"><input name="Send" type="submit" class="style21" value="Send">
</form>
</body>
</html>
Avatar billede KSN Mester
07. november 2006 - 21:54 #13
Fandt lige et par fejl selv.

Men nu kommer den op med fejlen.

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'mail.To'

/kontakt.asp, line 71
Avatar billede ellebaek Nybegynder
07. november 2006 - 22:01 #14
ret lige denne linie:

mail.To = EmailTo

til:
mail.AddRecipient EmailTo, EmailTo

og denne linie:
mail.Send

til noget i stilen af:
mail.Send("mail.ditdomæne.dk")
Avatar billede KSN Mester
07. november 2006 - 22:04 #15
Hva skal der så i mail.ditdomæne.dk?

Er først lige begyndt at rode med asp
Avatar billede ellebaek Nybegynder
07. november 2006 - 22:07 #16
det er din mailserver...

Hvem er din udbyder af webhotel?
Avatar billede KSN Mester
07. november 2006 - 22:16 #17
Er med nu.

123hotel.dk

Har klaret den. Men så kommer fejlen

jmail.Message error '8000ffff'

The message was undeliverable. All servers failed to receive the message

/kontakt.asp, line 47
Avatar billede KSN Mester
07. november 2006 - 22:28 #18
Gir op for i dag. Tak til jer alle sammen
Avatar billede ellebaek Nybegynder
07. november 2006 - 22:54 #19
du skal have en afsender på også...
Ellers kommer den med den fejl..

Så indsæt denne linie et sted inden mail.send:
mail.Sender = "email@dit-domaene.dk"

det er vigtigt det er en mail-adresse på dit domæne der er afsender...
Avatar billede KSN Mester
08. november 2006 - 08:05 #20
Da jeg fik mit bekræftigelses mail ang. domænet, fik jeg også en mailserver adresse. Det er vel den jeg skal bruge??
Avatar billede KSN Mester
08. november 2006 - 08:52 #21
Så har jeg fået min kontaktform til at virke. Havde bare lige glemt en "EmailFrom"

Tak til jer alle sammen
Avatar billede ellebaek Nybegynder
08. november 2006 - 11:56 #22
Super...

Giv bare pointsene til Maidindk .-)

Mvh. Jens
Avatar billede madeindk Nybegynder
08. november 2006 - 14:15 #23
Her er mit svar.
Avatar billede madeindk Nybegynder
08. november 2006 - 19:24 #24
Jeg takker for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester