/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problemmer med If then else
Fra : trixster
Vist : 643 gange
200 point
Dato : 03-03-04 23:33

Sidder her ogs slås med noget som burde være simplet nemelig if the else, men kan ikke lige for det til at virke som det skulle.
Det jeg vil er at cheke om brugeren har tastet en tom email adresse ind eller om den ikke er en rigtig email adresse.

Er der en venlig sjæl som kan gemmenskue mine fejl.

På Forhånd tak
Mvh
Trixster

-----------------------KODE---------------
<% @LANGUAGE=VBscript %>
<% Option Explicit
dim sendermail,modtagermail,mail,bIsValid

Response.buffer=True
sendermail = Request.Form("sendermail")
modtagermail = Request.Form("modtagermail")
%>
<html>
<head>
<title></title>
</head>

<body BGCOLOR="#FFFFFF" TEXT="#000000">

<table summary="table" width="85%" cellpadding="0" cellspacing="0" border="0"
bgcolor="#888888" align="center">
<tr>
<td align="center"><h2></h2>
<%
if modtagermail="" OR sendermail="" then
response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
else
Response.end
end if

If Len(sendermail) < 5 Then
bIsValid = "False"
Else
If Instr(1, sendermail, " ") <> 0 Then
bIsValid = "False"
Else
If InStr(1, sendermail, "@", 1) < 2 Then
bIsValid = "False"
Else
If InStrRev(sendermail, ".") < InStr(1, sendermail, "@", 1) + 2 Then
bIsValid = "False"
End If
End If
End If
End If
IF bIsValid = "False" THEN
response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
Response.End
end if



Set mail = server.CreateObject("JMail.SMTPMail")
mail.ServerAddress = "mail.udbyder.dk"
mail.Sender = sendermail
mail.AddRecipient modtagermail
mail.Subject = "En bruger har sendt denne anbefalning til dig."
Mail.Body = "Skriv beskeden her eks. Fed side med scripts."
Mail.Priority = 3
Mail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
Mail.Execute



%>


</body>
</html>


 
 
Kommentar
Fra : smorch


Dato : 03-03-04 23:59

Prøv dette:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Option Explicit
dim sendermail,modtagermail,mail,bIsValid

Response.buffer=True
sendermail = Request.Form("sendermail")
modtagermail = Request.Form("modtagermail")
%>
<html>
<head>
<title></title>
</head>

<body BGCOLOR="#FFFFFF" TEXT="#000000">

<table summary="table" width="85%" cellpadding="0" cellspacing="0" border="0" bgcolor="#888888" align="center">
<tr>
<td align="center"><h2></h2>

<%
if modtagermail="" OR sendermail="" then
   response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
else
   Response.end
end if
If Len(sendermail) < 5 Then
   bIsValid = "False"
else if Instr(1, sendermail, " ") <> 0
   Then bIsValid = "False"
else If InStr(1, sendermail, "@", 1) < 2
   Then bIsValid = "False"
else If InStrRev(sendermail, ".") < InStr(1, sendermail, "@", 1) + 2
   Then bIsValid = "False"
End If
IF bIsValid = "False" THEN
   response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
Response.End
end if

Set mail = server.CreateObject("JMail.SMTPMail")
mail.ServerAddress = "mail.udbyder.dk"
mail.Sender = sendermail
mail.AddRecipient modtagermail
mail.Subject = "En bruger har sendt denne anbefalning til dig."
Mail.Body = "Skriv beskeden her eks. Fed side med scripts."
Mail.Priority = 3
Mail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
Mail.Execute

%>

</body>
</html>

Kommentar
Fra : smorch


Dato : 04-03-04 00:01

i linien med end if If Len(sendermail) < 5 Then
skal det laves liniskift efter end if

end if
If Len(sendermail) < 5 Then

Accepteret svar
Fra : Random

Modtaget 210 point
Dato : 04-03-04 00:05

Har oz rydet lidt op, så den virker:
[kode]

if modtagermail="" OR sendermail="" then
response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
else
'Response.end
end if

if Len(sendermail) < 5 then
bIsValid = "False"
else
if Instr(1, sendermail, " ") <> 0 then
bIsValid = "False"
else
if InStr(1, sendermail, "@", 1) < 2 then
bIsValid = "False"
else
if InStrRev(sendermail, ".") < InStr(1, sendermail, "@", 1) + 2 then
bIsValid = "False"
End if
End if
End if
End if

If bIsValid = "False" then
response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
Response.end
end if

[/kode]


Mvh Random :.)

Kommentar
Fra : trixster


Dato : 04-03-04 07:52

Hej igen

Der er stadig noget galt her hos mig får nu kommer koden godt nok ikke med fejl længere, men den checker heller ikke for tomme mail adresser eller om der skulle være en fokert mail adresse.
Bør måske nævne at der er IIS 5 og jmail som bruges på denne server.

Her den retttede kode.


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Option Explicit
dim sendermail,modtagermail,mail,bIsValid

Response.buffer=True
sendermail = Request.Form("sendermail")
modtagermail = Request.Form("modtagermail")
%>
<html>
<head>
<title></title>
</head>

<body BGCOLOR="#FFFFFF" TEXT="#000000">

<table summary="table" width="85%" cellpadding="0" cellspacing="0" border="0" bgcolor="#888888" align="center">
<tr>
<td align="center"><h2></h2>

<%
if modtagermail="" OR sendermail="" then
response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
else
end if if Len(sendermail) < 5 then
bIsValid = "False"
else
if Instr(1, sendermail, " ") <> 0 then
bIsValid = "False"
else
if InStr(1, sendermail, "@", 1) < 2 then
bIsValid = "False"
else
if InStrRev(sendermail, ".") < InStr(1, sendermail, "@", 1) + 2 then
bIsValid = "False"
End
if End
if End
if End
if If bIsValid = "False" then
response.write "<h4 align='center'>Du har ikke angivet en gyldig mail adresse.</h4>"
Response.end
end if


Set mail = server.CreateObject("JMail.SMTPMail")
mail.ServerAddress = "mail.udbyder.dk"
mail.Sender = sendermail
mail.AddRecipient modtagermail
mail.Subject = "En bruger har sendt denne anbefalning til dig."
Mail.Body = "Skriv beskeden her eks. Fed side med scripts."
Mail.Priority = 3
Mail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
Mail.Execute

%>

</body>
</html>

Mvh
Trixster

Kommentar
Fra : trixster


Dato : 04-03-04 07:55
Kommentar
Fra : Random


Dato : 04-03-04 17:47

prøv at skrive
response.write sendermail
eller
sendermail Request.Form("sendermail")
i starten for at se om dataerne kommer over.

Du kan også lige så godt flytte den første "end if" ned til de andre 4.
Ellers skriver den ugyldig mail adresse 2 gange. Hvis strengen er tom.

Mvh
Random


Kommentar
Fra : Random


Dato : 04-03-04 17:49

hov
eller:
response.write Request.Form("sendermail")
Skulle der ha stået.


Godkendelse af svar
Fra : trixster


Dato : 05-03-04 22:56

Tak for alle jeres svar, problemmet er løst det var devære ikke i koden til afsendelse af mail den lå.
Men der i mod i form på første side, den stod til get og ikke post.

Lidt pinligt fra min side, at jeg ikke havde set det med det samme.
Ville gerne give jer begge points men det kan man jo ikke, så jeg syntes at det er mest rimelig at Random får dem.

Mvh
Trix                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste