/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
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
Bestillingsformular
Fra : Erik Ginnerskov


Dato : 10-11-04 22:22

Hej NG

Jeg er blevet bedt om at lave en bestillingsformular.

Den kan ses på http://hjemmesideskolen.dk/test/visitkort.html

Formularen skal sende data via mail_sender.asp.

Scriptet kan ses på http://hjemmesideskolen.dk/test/mail_sender.html

Men jeg er ikke så skarp til asp, som jeg gerne ville være. ;(

Jeg behøver hjælp til at definere de variabler, der skal kunne vælges fra de
to select-bokse og til at opsamle de rigtige variabler til videresendelse.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



 
 
Per Rasmussen (10-11-2004)
Kommentar
Fra : Per Rasmussen


Dato : 10-11-04 22:38

Erik Ginnerskov wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej NG
>
> Scriptet kan ses på http://hjemmesideskolen.dk/test/mail_sender.html
>
> Men jeg er ikke så skarp til asp, som jeg gerne ville være. ;(
>
> Jeg behøver hjælp til at definere de variabler, der skal kunne vælges fra de
> to select-bokse og til at opsamle de rigtige variabler til videresendelse.

Prøv at kikke på: http://www.dimac.net/Products/w3Jmail/start.htm
der har jeg tidligere fundet god hjælp.

PerR

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

JH (11-11-2004)
Kommentar
Fra : JH


Dato : 11-11-04 13:45

Erik Ginnerskov wrote:
> Jeg behøver hjælp til at definere de variabler, der skal kunne vælges fra de
> to select-bokse og til at opsamle de rigtige variabler til videresendelse.

Hej Erik

Først og fremmest kan jeg ikke rigtig gennemskue hvad
"w3.upload"-objektet skal bruges til? Jeg kender ikke dette objekt (og
heller ikke jmail.message), så jeg ved ikke hvad fx. upload.form("navn")
gør, udover jeg vil gætte på at du får værdien af input-feltet "navn".
Og derudover gætter jeg igen på at dette objekt bruges ifm. upload af filer.

Hvad sker der, hvis du fjerner alt undtaget:
<%
Set upload = Server.CreateObject( "w3.Upload" )
response.write "!" & upload("navn") & "!"
%>

En metode er at du i din HTML-side (med formularen) skal du give dine
formelementer en "name" attribut, fx:

<input id="navn" name="navn" type="text">

Derudover skal du i dine dropdownlister indsætte en "name"-attribut:

<select id="adr" name="adr">

og du skal indsætte en "value"-attribut i dine <option>-tags:
<option id="a01" value="a01">Nyborg</option>
<option id="a02" value="a02">Kerteminde</option>

Nu kan du så på din asp-side trække værdierne ud af felterne:
request("navn")
request("adr")
osv.

Og så kan det være at w3-objektet er overflødigt (så vidt jeg kan se).
Dvs dette:
name = upload.Form("navn")
title = upload.Form("titel")
senderEmail = upload.Form("mail")
tlf = upload.Form("tlf")
ptlf = upload.Form("ptlf")
mob = upload.Form("mob")
andet = upload.Form("andet")
info = upload.Form("info")

skal ændres til:

name = request("navn")
title = request("titel")
senderEmail = request("mail")
tlf = request("tlf")
ptlf = request("ptlf")
mob = request("mob")
andet = request("andet")
info = request("info")

Mvh
Jeppe

Erik Ginnerskov (11-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 11-11-04 18:20

JH wrote:

> Først og fremmest kan jeg ikke rigtig gennemskue hvad
> "w3.upload"-objektet skal bruges til? Jeg kender ikke dette objekt (og
> heller ikke jmail.message), så jeg ved ikke hvad fx.
> upload.form("navn") gør, udover jeg vil gætte på at du får værdien af
> input-feltet "navn".

Jeg er som før nævnt ikke asp-haj. Koderne står i det asp-script, der kører
min egen kontaktside på http://hjemmesideskolen.dk/kontakt.asp


> Hvad sker der, hvis du fjerner alt undtaget:
> <%
> Set upload = Server.CreateObject( "w3.Upload" )
> response.write "!" & upload("navn") & "!"
> %>

Ingen ide, lige nu. det må jeg kigge på i morgen på arbejde.

> En metode er at du i din HTML-side (med formularen) skal du give dine
> formelementer en "name" attribut, fx:
>
> <input id="navn" name="navn" type="text">

Det vil jeg straks i morgen tidlig tilføje de respektive steder.

> Og så kan det være at w3-objektet er overflødigt (så vidt jeg kan se).
> Dvs dette:
> name = upload.Form("navn")
> title = upload.Form("titel")
> senderEmail = upload.Form("mail")
> tlf = upload.Form("tlf")
> ptlf = upload.Form("ptlf")
> mob = upload.Form("mob")
> andet = upload.Form("andet")
> info = upload.Form("info")
>
> skal ændres til:
>
> name = request("navn")
> title = request("titel")
> senderEmail = request("mail")
> tlf = request("tlf")
> ptlf = request("ptlf")
> mob = request("mob")
> andet = request("andet")
> info = request("info")

Det forenkler det hele lidt. Men nu et par tillægsspørgsmål:

Valgboksen med Afdelinger skal pege på nogle 'tolinjede' variabler, eks.:

Thomas B. Thrigesgade 586
5000 Odense C

Kan det så sættes i variabeldefinitionen sådan:

a03 = ("Thomas B. Thrigesgade 586") & vbCrLf & ("5000 Odense C")

.... og vil det så indsætte teksten i to linjer i den mail, der genereres af
asp-scriptet?
Og hvordan får jeg scriptet til - ud fra valget i valgboksen - at indsætte
den rigtige variabel i mailen?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (11-11-2004)
Kommentar
Fra : JH


Dato : 11-11-04 19:07

Erik Ginnerskov wrote:
> Jeg er som før nævnt ikke asp-haj. Koderne står i det asp-script, der kører
> min egen kontaktside på http://hjemmesideskolen.dk/kontakt.asp

Nejnej, vi er jo alle startet et sted

>>Hvad sker der, hvis du fjerner alt undtaget:
>><%
>>Set upload = Server.CreateObject( "w3.Upload" )
>>response.write "!" & upload("navn") & "!"
>>%>
>
> Ingen ide, lige nu. det må jeg kigge på i morgen på arbejde.

OK, grunden til jeg gerne vil vide hvad der sker er, at jeg ikke kender
w3-objektet. Har du evt. et link dokumentation/producent?

> Det forenkler det hele lidt. Men nu et par tillægsspørgsmål:
>
> Valgboksen med Afdelinger skal pege på nogle 'tolinjede' variabler, eks.:
>
> Thomas B. Thrigesgade 586
> 5000 Odense C

Vi skal lige være enige om at ovenstående ikke er en variabel, men
derimod en værdi. Denne værdi kan så lægges i en variabel;
<%
minVar = "Thomas B."
%>
eller kan være en værdi i dir input-tag:
<input id="navn" name="navn" type="text" value="Thomas B.">
eller dit option-tag:
<option id="a01" value="Thomas B.">Odense</option>

> Kan det så sættes i variabeldefinitionen sådan:
>
> a03 = ("Thomas B. Thrigesgade 586") & vbCrLf & ("5000 Odense C")
>
> ... og vil det så indsætte teksten i to linjer i den mail, der genereres af
> asp-scriptet?

Det kommer lidt an på hvilken slags mail du vil sende. Hvis det er en
HTML-mail, kan du blot gøre sådan:

<select id="adr" name="adr">
<option id="a01" value="Thomas B. Thrigesgade 586<br>5000 Odense
C">Odense</option>
</select>
og så kan blot indsætte request("adr") direkte i din mail:
msg.Body = "Dato " & Date & " afdeling " & request("adr")

Jeg er ikke helt sikker på hvordan man laver linieskift hvis det er en
text-mail, men det ser ud til at "vbCrLf" kan bruges.

Alternativt kan du gøre:
<select id="adr" name="adr">
<option id="a01" value="Thomas B. Thrigesgade 586¤¤¤5000 Odense
C">Odense</option>
</select>
og så på din asp-side:
msg.Body = "Dato " & Date & " afdeling " & replace(request("adr"),
"¤¤¤", vbCrLf)

eller
msg.Body = "Dato " & Date & " afdeling " & replace(request("adr"),
"¤¤¤", "<br>")
hvis det er en HTML-mail

En 3. mulighed er blot at have "nøgler" som værdier i dine options:
<select id="adr" name="adr"><option>Vælg afdeling</option>
<option id="a01" value="1">Nyborg</option>
<option id="a02" value="2">Kerteminde</option>
<option id="a03" value="3">Odense</option>
<option id="a04" value="4">Bogense</option>
<option id="a05" value="5">Middelfart</option>
<option id="a06" value="6">Assens</option>
<option id="a07" value="7">Faaborg</option>
<option id="a08" value="8">Svendborg</option>
<option id="a09" value="9">Ringe</option>
</select>
og så i din asp-side:
vej = ""
by = ""
select case request("adr")
case "1":
   vej = "..."
   by = "..."
case "2":
   vej = "..."
   by = "..."
case "3":
   vej = "Thomas B. Thrigesgade 586"
   by = "5000 Odense C"
case "4":
   vej = "..."
   by = "..."
case "5":
   vej = "..."
   by = "..."
case "6":
   vej = "..."
   by = "..."
case "7":
   vej = "..."
   by = "..."
case "8":
   vej = "..."
   by = "..."
case "9":
   vej = "..."
   by = "..."

msg.Body = "Dato " & Date & vbCrLf
msg.Body = msg.Body & "Vej " & vej & vbCrLf
msg.Body = msg.Body & "By " & by & vbCrLf

Løsning nr. 3 kræver naturligvis at du skal rette 2 steder, når du
opretter en ny afdeling, men det giver måske lidt mere fleksibilitet.
Hvis nu du hentede listen over afdelinger fra en database, ville det
være løsning 3, der ville være at foretrække, og hele
"select..."-blokken kunne droppes til fordel fra et database-kald i stil
med:
"SELECT vej, by FROM navn_på_tabel_med_afdelinger WHERE id=" &
request("adr")

> Og hvordan får jeg scriptet til - ud fra valget i valgboksen - at indsætte
> den rigtige variabel i mailen?

name="adr" i dit select-tag, betyder at ved at bruge request("adr") i
dit asp-script, henter du den værdien fra value-atrributten i det
option-tag, der er valgt.

Håber det kunne bruges, ellers spørg bare løs, hvis noget skal uddybes.

Mvh
Jeppe

Erik Ginnerskov (11-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 11-11-04 22:35

JH wrote:

> Nejnej, vi er jo alle startet et sted

Men jeg håber da på at komme lidt videre i løbet af vinteren.

> OK, grunden til jeg gerne vil vide hvad der sker er, at jeg ikke
> kender w3-objektet. Har du evt. et link dokumentation/producent?

Den kan du sikkert bladre dig frem til på azero.dk - søg på jmail

>> Thomas B. Thrigesgade 586
>> 5000 Odense C
>
> Vi skal lige være enige om at ovenstående ikke er en variabel, men
> derimod en værdi. Denne værdi kan så lægges i en variabel;

> En 3. mulighed er blot at have "nøgler" som værdier i dine options:
> <select id="adr" name="adr"><option>Vælg afdeling</option>
> <option id="a01" value="1">Nyborg</option>
> <option id="a02" value="2">Kerteminde</option>
> <option id="a03" value="3">Odense</option>
> <option id="a04" value="4">Bogense</option>
> <option id="a05" value="5">Middelfart</option>
> <option id="a06" value="6">Assens</option>
> <option id="a07" value="7">Faaborg</option>
> <option id="a08" value="8">Svendborg</option>
> <option id="a09" value="9">Ringe</option>
> </select>
> og så i din asp-side:
> vej = ""
> by = ""
> select case request("adr")
> case "1":
> vej = "..."
> by = "..."

> case "3":
> vej = "Thomas B. Thrigesgade 586"
> by = "5000 Odense C"
> case "4":
> vej = "..."
> by = "..."

> case "9":
> vej = "..."
> by = "..."
>
> msg.Body = "Dato " & Date & vbCrLf
> msg.Body = msg.Body & "Vej " & vej & vbCrLf
> msg.Body = msg.Body & "By " & by & vbCrLf
>
> Løsning nr. 3 kræver naturligvis at du skal rette 2 steder, når du
> opretter en ny afdeling, men det giver måske lidt mere fleksibilitet.

Det er den løsning, jeg er blevet bedt om at lave. Jeg selv ville bare lade
burgerne se et par simple inputfelter, men ledelsen frygter en masse rod med
ukorrekte adresser på medarbejdernes visitkort. Derfor skal man bare kunne
pege på den afdeling, man arbejder i, hvorefter en foruddefineret adresse
bliver skrevet på visitkortet.

> Hvis nu du hentede listen over afdelinger fra en database, ville det
> være løsning 3, der ville være at foretrække, og hele
> "select..."-blokken kunne droppes til fordel fra et database-kald

Så lang tid bliver jeg ikke undt til at få projektet op at køre. Det skulle
gerne være køreklar næste fredag :(

>> Og hvordan får jeg scriptet til - ud fra valget i valgboksen - at
>> indsætte den rigtige variabel i mailen?
>
> name="adr" i dit select-tag, betyder at ved at bruge request("adr") i
> dit asp-script, henter du den værdien fra value-atrributten i det
> option-tag, der er valgt.
>
> Håber det kunne bruges, ellers spørg bare løs, hvis noget skal
> uddybes.

Jeg er kommet i tanker om endnu et enkelt spørgsmål: Hvordan undgår jeg, at
scriptet fejler, hvis ikke alle felter er udfyldt? - det er kun de med *
markerede felter, der absolut skal udfyldes. En request vil vel ikke tillade
en tom værdi.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (12-11-2004)
Kommentar
Fra : JH


Dato : 12-11-04 00:10

Erik Ginnerskov wrote:
>>OK, grunden til jeg gerne vil vide hvad der sker er, at jeg ikke
>>kender w3-objektet. Har du evt. et link dokumentation/producent?
>
>
> Den kan du sikkert bladre dig frem til på azero.dk - søg på jmail

Nej, ikke jmail-objektet, men w3-objektet:
Server.CreateObject( "w3.Upload" )
Dette objekt kan jeg ikke se hos Azero.
http://azero.dk/support/programmering/asp/komponenter/

Skal det køre på et site hostet af Azero?

Forøvrigt skriver Azero:
Server.CreateObject("JMail.SMTPMail")
og ikke
Server.CreateObject("JMail.Message")
som i din kode, ved du hvad forskellen er?

> Det er den løsning, jeg er blevet bedt om at lave. Jeg selv ville bare lade
> burgerne se et par simple inputfelter, men ledelsen frygter en masse rod med
> ukorrekte adresser på medarbejdernes visitkort. Derfor skal man bare kunne
> pege på den afdeling, man arbejder i, hvorefter en foruddefineret adresse
> bliver skrevet på visitkortet.

Det er altså løsning nr. 3 du vil lave? Det er i hvert fald den mest
robuste. En *rigtig* god grund til at vælge denne løsning er at du har
100% styr de værdier der sendes til din asp-side. Det er en del af
validering af userinput. Hvis du brugte een af de andre to metoder jeg
foreslog, kan du risikere at der bliver 'fusket' med værdierne.

> Så lang tid bliver jeg ikke undt til at få projektet op at køre. Det skulle
> gerne være køreklar næste fredag :(

Det er ellers meget simpelt, men alting er jo let når man ved hvordan,
så jeg synes du skal starte med ovenstående, så kan du jo altid
videreudvikle, hvis det skal være.

> Jeg er kommet i tanker om endnu et enkelt spørgsmål: Hvordan undgår jeg, at
> scriptet fejler, hvis ikke alle felter er udfyldt? - det er kun de med *
> markerede felter, der absolut skal udfyldes. En request vil vel ikke tillade
> en tom værdi.

En god ide er at starte med at læse alle værdierne ind i nogle variabler
(som du også har gjort), fx:

name = request("navn")
adr = request("adr")

Det næste er nu at tjekke at værdierne af disse variabler rent faktisk
indeholde det du mener de skal/kan indeholde, fx:

if len(name)<1 then
   errMsg = "Navn skal udfyldes."
end if

eller:

if not isnumeric(adr) then
   errMsg = "Du skal vælge en afdeling."
else
   select case cint(adr)
   case 1:
    vej = "..."
    by = "..."
   case 2:
    vej = "..."
    by = "..."
   case 3:
    vej = "Thomas B. Thrigesgade 586"
    by = "5000 Odense C"
   case 4:
    vej = "..."
    by = "..."
   case 5:
    vej = "..."
    by = "..."
   case 6:
    vej = "..."
    by = "..."
   case 7:
    vej = "..."
    by = "..."
   case 8:
    vej = "..."
    by = "..."
   case "9":
    vej = "..."
    by = "..."
   case else:
    errMsg = "Du må ikke fuske med værdierne "
   end select
   end if
end if

Det hele bliver pænest af at pakke det ind i nogle metoder, og så kan
jeg anbefale at samle det hele i 1 asp-side, så kan du nemt vise
fejlbeskeder fx ovenover din html-form.

Mvh
Jeppe

Erik Ginnerskov (12-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 12-11-04 06:57

JH wrote:

>> Den kan du sikkert bladre dig frem til på azero.dk - søg på jmail
>
> Nej, ikke jmail-objektet, men w3-objektet:
> Server.CreateObject( "w3.Upload" )
> Dette objekt kan jeg ikke se hos Azero.
> http://azero.dk/support/programmering/asp/komponenter/

Jeg må prøve at finde det i løbet af weekenden.

> Skal det køre på et site hostet af Azero?

Nej, min klient kører sin egen server.

> Forøvrigt skriver Azero:
> Server.CreateObject("JMail.SMTPMail")
> og ikke
> Server.CreateObject("JMail.Message")
> som i din kode, ved du hvad forskellen er?

Ikke den ringeste anelse. Men det virker på min egen formular.

>> Så lang tid bliver jeg ikke undt til at få projektet op at køre. Det
>> skulle gerne være køreklar næste fredag :(
>
> Det er ellers meget simpelt, men alting er jo let når man ved hvordan,
> så jeg synes du skal starte med ovenstående, så kan du jo altid
> videreudvikle, hvis det skal være.

Det fremmer også porduktudviklingen, når man løbende kan afprøve øndringer,
hvilket jeg ikke har adgang til - endnu? ;(
Jeg er kun korttidsansat og der er åbenbart grænser for, hvad man vil betro
mig, uagtet projektets natur.

> Det hele bliver pænest af at pakke det ind i nogle metoder, og så kan
> jeg anbefale at samle det hele i 1 asp-side, så kan du nemt vise
> fejlbeskeder fx ovenover din html-form.

Så bliver det vel noget med at ændre i action til
action"visitkort.asp?id=submit" eller noget i den retning?

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (12-11-2004)
Kommentar
Fra : JH


Dato : 12-11-04 12:10

Erik Ginnerskov wrote:
> Så bliver det vel noget med at ændre i action til
> action"visitkort.asp?id=submit" eller noget i den retning?

Ja, det kan lade sig gøre, men når nu du bruger POST i din formular, vil
jeg foreslår du bruger et hidden field, fx:
<input type="hidden" name="command" value="send" />

Dvs. noget i retning af:

<%
if request("command")="send" then

'gør noget (validering, send mail osv)

end if
%>
....
<html>
....
<form method="post" action="mail_sender.asp">
<input type="hidden" name="command" value="send" />
....
</form>
....
</html>



Mht. at vise fejlbeskeder kan du gøre noget i retning af:

<%
if request("command")="send" then
dim errMsg, name, phone
errMsg = ""
name = request("name")
phone = request("phone")

function validate()
   if len(name)<1 then
      errMsg = errMsg & "Du skal indtaste dit navn.¤¤¤"
   end
   if len(phone)<1 then
      errMsg = errMsg & "Du skal indtaste dit telefonnr.¤¤¤"
   end
end function

function sendmail()
end function

if len(errMsg)<1 then
   sendmail
end if

end if
%>
....
<html>
....
<%
if len(errMsg)>0 then
   response.write replace(errMsg, "¤¤¤", "<br>")
end if
%>
<form method="post" action="mail_sender.asp">
<input type="hidden" name="command" value="send" />
<label for="navn">Navn: *</label><input id="navn" name="navn"
type="text"><br>
<label for="tlf">Tlf.: *</label><input id="tlf" name="tlf" type="text"><br>
....
</form>
....
</html>

Mvh
Jeppe

Erik Ginnerskov (13-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-11-04 12:35

Erik Ginnerskov wrote:


> Det fremmer også porduktudviklingen, når man løbende kan afprøve
> øndringer, hvilket jeg ikke har adgang til - endnu? ;(
> Jeg er kun korttidsansat og der er åbenbart grænser for, hvad man vil
> betro mig, uagtet projektets natur.

Jeg har nu fra egen server lavet en test af det foreløbige.

formular:
http://hjemmesideskolen.dk/test/visitkort.html

mail_sender.asp:
http://hjemmesideskolen.dk/test/mail_sender.html

Når jeg prøver at sende en bestilling, returnerer scriptet den besked, at
bestillingen er afsendt. Men den mail, der når frem, indeholder i body kun
det ene ord 'Noter'.

Forsøg med mangelfuld udfyldning af obligatoriske felter giver ingen
fejlmelding retur.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (13-11-2004)
Kommentar
Fra : JH


Dato : 13-11-04 15:31

Erik Ginnerskov wrote:
> Jeg har nu fra egen server lavet en test af det foreløbige.

I din asp-side modtager du værdier som strings (request("xxx")), men du
laver en cint på adr. Enten skal du ændre din HTML og fjerne "0":
<option value="1">Nyborg</option>
og derudover lave:
case 1:

eller du skal fjerne isnumeric-if-sætningen og cint.

Prøv også og lav:
response.write "!" & msg.Body & "!"
umiddelbart inden du sender mail'en. Hvad siger dette?

Du skriver:
if len(tal)<1 then
men jeg kan ikke se variablen "tal" er defineret, så hvad indeholder "tal"?

Hvis det ikke virker, så prøv også at fjerne de aæt undtagen de mest
simple ting, fjern fx. al validering, select case o.lign, så du er
sikker på at du får overført værdierne rigtigt. Prøv derefter stille og
rolig at bygge een ting på ad gangen, mens du hele tiden tester at det
virker.

Mvh
Jeppe

Erik Ginnerskov (13-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-11-04 22:24

JH wrote:
>
> Hvis det ikke virker, så prøv også at fjerne de aæt undtagen de mest
> simple ting, fjern fx. al validering, select case o.lign, så du er
> sikker på at du får overført værdierne rigtigt. Prøv derefter stille
> og rolig at bygge een ting på ad gangen, mens du hele tiden tester at
> det virker.

OK, nu har jeg fået den til at sende alle data, undtagen de to valgbokse. Så
skal vi til at få det valgte fra disse puttet ind også.

Stadig kan det foreløbige ses på

formular:
http://www.hjemmesideskolen.dk/test/visitkort.html

mail_sender.asp:
http://www.hjemmesideskolen.dk/test/mail_sender.html

.... opdateret med de seneste ændringer.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Erik Ginnerskov (14-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 14-11-04 12:12

Erik Ginnerskov wrote:

> OK, nu har jeg fået den til at sende alle data, undtagen de to
> valgbokse. Så skal vi til at få det valgte fra disse puttet ind også.

Jeg har nu forsøgt at opsamle data fra valget af antal. Men der sker hverken
test af manglende valg eller registrering af et foretaget valg.

formular:
http://www.hjemmesideskolen.dk/test/visitkort.html

mail_sender.asp:
http://www.hjemmesideskolen.dk/test/mail_sender.html

... opdateret med de seneste ændringer.

Tilføjelsen i asp sker efter linjen
andet = request("andet")
og slutter før linjen
info = request("info")
samt tilføjelsen af koden
"Antal: " & antal & vbCrLf &
i msg.Body

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (14-11-2004)
Kommentar
Fra : JH


Dato : 14-11-04 19:28

Erik Ginnerskov wrote:
> Jeg har nu forsøgt at opsamle data fra valget af antal. Men der sker hverken
> test af manglende valg eller registrering af et foretaget valg.
>
> formular:
> http://www.hjemmesideskolen.dk/test/visitkort.html
>
> mail_sender.asp:
> http://www.hjemmesideskolen.dk/test/mail_sender.html
>
> ... opdateret med de seneste ændringer.
>
> Tilføjelsen i asp sker efter linjen
> andet = request("andet")
> og slutter før linjen
> info = request("info")
> samt tilføjelsen af koden
> "Antal: " & antal & vbCrLf &
> i msg.Body
>

Problemet er at variablen "antal" er tom når du tjekker på hvad længden er:
if len(antal)<1 then
Hvis du havde lavet en response.write, ville du kunne se at den var tom:
response.write antal

Prøv dette:

name = request("navn")
titel = request("titel")
senderEmail = request("mail")
tlf = request("tlf")
ptlf = request("ptlf")
mob = request("mob")
andet = request("andet")
antal = request("antal")
select case antal
case "a":
antal = ("100 stk.")
case "b":
antal = ("200 stk.")
case "c":
antal = ("300 stk.")
case "d":
antal = ("400 stk.")
case "e":
antal = ("500 stk.")
case else:
errMsg = "Du skal vælge et antal."
end select

Denne linie er ændret:
select case antal

Disse linier er fjernet:
if len(antal)<1 then
errMsg = "Du skal vælge et antal."
end if

Denne linie er tilføjet:
antal = request("antal")



Iøvrigt er det rigtig god ide at tilføje disse linier øverst i dine scripts:
<%@ LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<%
'Her kommer dit script
%>

Option Explicit betyder at du SKAL erklære dine variabler, fx:
dim name, titel, senderEmail, tlf
inden du lægger værdier i dem. Dette er med til at sikre at din kode er
mere robust.

Mvh
Jeppe

Erik Ginnerskov (14-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 14-11-04 20:35

JH wrote:

>> Jeg har nu forsøgt at opsamle data fra valget af antal. Men der sker
>> hverken test af manglende valg eller registrering af et foretaget
>> valg.

> Problemet er at variablen "antal" er tom når du tjekker på hvad
> længden er: if len(antal)<1 then
> Hvis du havde lavet en response.write, ville du kunne se at den var
> tom: response.write antal

Det havde jeg faktisk prøvet, men det gav en scriptfejl - jeg kan ikke se
hvorfor, det er lavet på samme måde som de øvrige Responce.write-sætninger.

> Prøv dette:
>
> name = request("navn")
> titel = request("titel")
> senderEmail = request("mail")
> tlf = request("tlf")
> ptlf = request("ptlf")
> mob = request("mob")
> andet = request("andet")
> antal = request("antal")
> select case antal
> case "a":
> antal = ("100 stk.")
> case "b":
> antal = ("200 stk.")
> case "c":
> antal = ("300 stk.")
> case "d":
> antal = ("400 stk.")
> case "e":
> antal = ("500 stk.")
> case else:
> errMsg = "Du skal vælge et antal."
> end select

Det har jeg nu gjort og får så det valgte antal med i den afsendte mail. Men
scriptet fanger ikke et manglende valg.

> Iøvrigt er det rigtig god ide at tilføje disse linier øverst i dine
> scripts: <%@ LANGUAGE="VBSCRIPT" %>
> <% Option Explicit %>

Det prøver jeg at sætte ind og ser, hvordan det så opfører sig.

Det kan den ikke li'. Jeg får en fejlmelding:
_____
Microsoft VBScript compilation error '800a0400'

Expected statement

/test/mail_sender.asp, line 13

Option Explicit
^_____

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Erik Ginnerskov (14-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 14-11-04 20:43

Erik Ginnerskov wrote:

> Det havde jeg faktisk prøvet, men det gav en scriptfejl

Dooo, fejl40 / stavefejl - men når man sidder og glor længe nok på et
problem, stirrer man sig åbenbart blind på det.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (14-11-2004)
Kommentar
Fra : JH


Dato : 14-11-04 21:19

Erik Ginnerskov wrote:
> Det har jeg nu gjort og får så det valgte antal med i den afsendte mail. Men
> scriptet fanger ikke et manglende valg.

Hvad var den fejl 40 du fandt?

Se iøvrigt mit svar fra 12.11 kl. 12:10 for at se hvordan du kommer
videre med at vise fejlmeddelelser.

>>Iøvrigt er det rigtig god ide at tilføje disse linier øverst i dine
>>scripts: <%@ LANGUAGE="VBSCRIPT" %>
>><% Option Explicit %>
>
>
> Det prøver jeg at sætte ind og ser, hvordan det så opfører sig.
>
> Det kan den ikke li'. Jeg får en fejlmelding:
> _____
> Microsoft VBScript compilation error '800a0400'
>
> Expected statement
>
> /test/mail_sender.asp, line 13
>
> Option Explicit
> ^_____
>

De to linier skal være det øverste på din side. Du må ikke have andre
statements før dem. Jeg kan se fra fejlmeddelelsen at det er i linie 13,
så hvad står der på linierne inden?

Husk også at erklære ALLE dine variabler.

Mvh
Jeppe

Erik Ginnerskov (14-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 14-11-04 22:04

JH wrote:

> Hvad var den fejl 40 du fandt?

Responsc.write

> Se iøvrigt mit svar fra 12.11 kl. 12:10 for at se hvordan du kommer
> videre med at vise fejlmeddelelser.

Det gemmer jeg lige, indtil jag har fået den til at opsamle alle data uden
vrøvl.

>>> Iøvrigt er det rigtig god ide at tilføje disse linier øverst i dine
>>> scripts: <%@ LANGUAGE="VBSCRIPT" %>
>>> <% Option Explicit %>

>> Det kan den ikke li'. Jeg får en fejlmelding:
>> _____
>> Microsoft VBScript compilation error '800a0400'
>>
>> Expected statement
>>
>> /test/mail_sender.asp, line 13
>>
>> Option Explicit
>> ^_____

> De to linier skal være det øverste på din side. Du må ikke have andre
> statements før dem. Jeg kan se fra fejlmeddelelsen at det er i linie
> 13, så hvad står der på linierne inden?

Jeg havde indsat det i body, over det andet asp-script.
De to kodelinjer var linje 12 og 13 i dokumentet.

Hvis jeg flytter de to linjer op øverst i dokumentet, får jeg denne
fejlmelding:
_____

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'msg'

/test/mail_sender.asp, line 15
_____

> Husk også at erklære ALLE dine variabler.

Det prøver jeg da at overholde. Jeg har i øvrigt nu forsøgt at få scriptet
til at sende adressen med i mailen. Men der sker ikke en hujende fis.
Stadig:

formular:
http://www.hjemmesideskolen.dk/test/visitkort.html

mail_sender.asp:
http://www.hjemmesideskolen.dk/test/mail_sender.html

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (14-11-2004)
Kommentar
Fra : JH


Dato : 14-11-04 22:12

Erik Ginnerskov wrote:
> Jeg havde indsat det i body, over det andet asp-script.
> De to kodelinjer var linje 12 og 13 i dokumentet.
>
> Hvis jeg flytter de to linjer op øverst i dokumentet, får jeg denne
> fejlmelding:
> _____
>
> Microsoft VBScript runtime error '800a01f4'
>
> Variable is undefined: 'msg'
>
> /test/mail_sender.asp, line 15
> _____
>

OK, nu har placeret dem det rigtige sted. Når du bruger "Option
Explicit" skal du sørge for at erklære dine variabler:

dim name, titel, senderEmail, tlf 'osv...

> Det prøver jeg da at overholde.

Synes jeg ikke jeg kan se i dit script. Jeg kan ikke se "dim ..."?

> Jeg har i øvrigt nu forsøgt at få scriptet
> til at sende adressen med i mailen. Men der sker ikke en hujende fis.
> Stadig:
>

Prøv og skriv:
response.write "msg.body indeholder: " & msg.Body & "<br>"
inden denne linie:

if not msg.Send("websmtp.domæne.dk") then

så vil du se om dine variabler indeholder det de skal. Alternativt kan
du udskrive dem enkeltvis:
response.write "recipient: " & recipient & "<br>"
response.write "name: " & name & "<br>"
response.write "titel: " & titel & "<br>"
response.write "tlf: " & tlf & "<br>"
osv.

Mvh
Jeppe

Erik Ginnerskov (14-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 14-11-04 22:54

JH wrote:

> OK, nu har placeret dem det rigtige sted. Når du bruger "Option
> Explicit" skal du sørge for at erklære dine variabler:
>
> dim name, titel, senderEmail, tlf 'osv...

Er nu gjort. Mailen bliver afsendt uden vrøvl. Men jeg får stadig ikke
adressen med.

> Prøv og skriv:
> response.write "msg.body indeholder: " & msg.Body & "<br>"

Jeg har faktisk allerede i bunden af scriptet dette:

Response.write "Vej: " & vej & "<br><br>"
Response.write "By: " & by & "<br><br>"

Men variablerne kommer ikke med der heller.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (14-11-2004)
Kommentar
Fra : JH


Dato : 14-11-04 23:07

Erik Ginnerskov wrote:
> JH wrote:
>
>
>>OK, nu har placeret dem det rigtige sted. Når du bruger "Option
>>Explicit" skal du sørge for at erklære dine variabler:
>>
>>dim name, titel, senderEmail, tlf 'osv...
>
>
> Er nu gjort. Mailen bliver afsendt uden vrøvl. Men jeg får stadig ikke
> adressen med.

Adressen er det senderEmail, eller vej/by?

Du mangler i hvert fald:
adr = request("adr") inden:
select case(adr)
ellers er variablen "adr" jo tom.

Her er i hvert fald en fejl (som ikke hænger sammen med ovenstående):
Responce.write "!" Response.write "<p>Bestilling afgivet den " & Date &
" klokken " & Time & "<br><br> <b>Fra: </b>" & name & "<br><br>"

skulle nok have været:
Responce.write "!" & "<p>Bestilling afgivet den " & Date & " klokken " &
Time & "<br><br> <b>Fra: </b>" & name & "<br><br>"

Denne linie bør også fjernes:
Set upload = Server.CreateObject( "w3.Upload" )

Hvis du udskriver alle dine variabler, fx:
response.write "recipient: " & recipient & "<br>"
response.write "name: " & name & "<br>"
response.write "titel: " & titel & "<br>"
response.write "tlf: " & tlf & "<br>"
osv.

indeholder de så alle de værdier du har indtastet på formen?

Mvh
Jeppe

Erik Ginnerskov (15-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 15-11-04 07:17

JH wrote:

> Adressen er det senderEmail, eller vej/by?

Adressen er vej/by. SenderEmail er den adresse, som BCC skal sendes til og
som skal skrives på visitkortet.

> Du mangler i hvert fald:
> adr = request("adr") inden:
> select case(adr)
> ellers er variablen "adr" jo tom.

Det var lige det, der manglede. Nu kan jeg få adressen og postnr/by med.

> Her er i hvert fald en fejl (som ikke hænger sammen med ovenstående):
> Responce.write "!" Response.write "<p>Bestilling afgivet den " & Date
> & " klokken " & Time & "<br><br> <b>Fra: </b>" & name & "<br><br>"

Der var blevet byttet om på et par linjer kode der. Derfor så det
forvirrende ud. Det er rettet.

> Denne linie bør også fjernes:
> Set upload = Server.CreateObject( "w3.Upload" )

Det viser sig, at den kan undværes, så den er fjernet permanent.

> Hvis du udskriver alle dine variabler, fx:
> response.write "recipient: " & recipient & "<br>"
> response.write "name: " & name & "<br>"
> response.write "titel: " & titel & "<br>"
> response.write "tlf: " & tlf & "<br>"
> osv.
>
> indeholder de så alle de værdier du har indtastet på formen?

Ja, jeg får alle data med nu - ligee bortset fra, at recipient altså er den
adresse, mailen skal sendes til (sikkert trykkeriet), så den skal ikke med i
body. Og hvis jeg beder om at få dem udskrevet på svarsiden, kommer de også
med - det har jeg tjekket af undervejs, efterhånden som jeg føjede flere
variabler til.

Og ved tryk på 'Send bestilling' sendes både til recipient og senderEmail -
sidstnævnte som BCC.

Nu mangler jeg så bare at fange de eventuelt manglende indtastninger af
obligatoriske data. Det må jeg kigge på i aften.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (15-11-2004)
Kommentar
Fra : JH


Dato : 15-11-04 19:18

Erik Ginnerskov wrote:
> Nu mangler jeg så bare at fange de eventuelt manglende indtastninger af
> obligatoriske data. Det må jeg kigge på i aften.

Dejligt, så mangler der lige det sidste.

Mvh
Jeppe

Erik Ginnerskov (15-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 15-11-04 22:12

JH wrote:

>> Nu mangler jeg så bare at fange de eventuelt manglende indtastninger
>> af obligatoriske data. Det må jeg kigge på i aften.
>
> Dejligt, så mangler der lige det sidste.

Jeg har nu forsøgt at indsætte de fejlfanger-funktioner, du beskrev 12/11.

Jeg har på skift prøvet at lade alle fem obligatoriske felter være uden
indhold/valg. Det fanger ikke noget. Ingen fejlmeddelelser vises. Mailen
bliver bare sendt uden disse data. ;(

Formular:
http://hjemmesideskolen.dk/test/visitkort.asp

Scripts:
http://hjemmesideskolen.dk/test/mail_sender.html

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



JH (15-11-2004)
Kommentar
Fra : JH


Dato : 15-11-04 23:43

Erik Ginnerskov wrote:
> Jeg har nu forsøgt at indsætte de fejlfanger-funktioner, du beskrev 12/11.
>
> Jeg har på skift prøvet at lade alle fem obligatoriske felter være uden
> indhold/valg. Det fanger ikke noget. Ingen fejlmeddelelser vises. Mailen
> bliver bare sendt uden disse data. ;(
>
> Formular:
> http://hjemmesideskolen.dk/test/visitkort.asp
>
> Scripts:
> http://hjemmesideskolen.dk/test/mail_sender.html
>

Du skal flytte hele logikken til at sende mail ind i din
sendmail-funktion, eller du skal droppe funkionen. Under alle
omstændigheder skal det flyttes ind i din if...:

if request("command")="send" then
   dim msg, name, titel.......
   set msg = server......
   name = request...
   ...
   ...
   ...
end if

Altså hele den blok du viser nederst her:
http://hjemmesideskolen.dk/test/mail_sender.html

Hele dit flow kan skrives med pseudokode:

Hvis der er klikket på Send (command="send")
   erklær variabler
   læg værdier i variabler
   valider indhold af variabler
   Hvis indhold af variabler OK
      sæt værdier på mail-objektets variabler
      hvis mail afsendt
         gør noget (fx gå til anden side)
      ellers
         Sæt fejlbesked
      end
   ellers
      Sæt fejlbesked
   end
end

<html>
....
<%
if len(errMsg)>0 then
response.write replace(errMsg, "¤¤¤", "<br>")
end if
%>
<form>
....
</form>
....
</html>

Du kan også pakke din kode ind i funktioner, det gør det lidt pænere, og
så kan du måske genbruge dem:




<%@ LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<%
dim msg, name, titel, adr, vej, by, errMsg, recipient, senderEmail, web,
tlf, ptlf, mob, andet, antal, info, log

if request("command")="send" then
function validate()
if len(name)<1 then
errMsg = errMsg & "Du skal indtaste dit navn.¤¤¤"
end if
if len(adr)<1 then
errMsg = errMsg & "Du skal vælge en afdeling.¤¤¤"
end if
if len(tlf)<1 then
errMsg = errMsg & "Du skal indtaste dit telefonnr.¤¤¤"
end if
if len(mail)<1 then
errMsg = errMsg & "Du skal indtaste din email-adresse.¤¤¤"
end if
if len(antal)<1 then
errMsg = errMsg & "Du skal vælge et antal.¤¤¤"
end if
select case adr
case "1"
vej = "Nyborgvej 81"
by = "5800 Nyborg"
case "2"
vej = "Kertemindevej 82"
by = "5300 Kerteminde"
case "3"
vej = "Odensevej 83"
by = "5000 Odense C"
case "4"
vej = "Bogensevej 84"
by = "5400 Bogense"
case "5"
vej = "Middelfartvej 85"
by = "5500 Middelfart"
case "6"
vej = "Assensvej 86"
by = "5610 Assens"
case "7"
vej = "Faaborgvej 87"
by = "5600 Faborg"
case "8"
vej = "Svendborgvej 88"
by = "5700 Svendborg"
case "9"
vej = "Ringevej 89"
by = "5750 Ringe"
case "10"
vej = "Glamsbjergven 90"
by = "5620 Glamsbjerg"
case "11"
vej = "Tommerupvej 91"
by = "5690 Tommerup"
case "":
errMsg = errMsg & "Du skal vælge en afdeling."
end select
select case antal
case "a":
antal = ("100 stk. ")
case "b":
antal = ("200 stk. ")
case "c":
antal = ("300 stk. ")
case "d":
antal = ("400 stk. ")
case "e":
antal = ("500 stk. ")
case else:
errMsg = errMsg & "Du skal vælge et antal."
end select
if len(errMsg)>0 then
   validate = false
else
   validate = true
end if
end function

function sendmail()
set msg = Server.CreateOBject( "JMail.Message" )
msg.From = SenderEmail
msg.FromName = Name
msg.AddRecipient Recipient
msg.AddRecipientBCC senderEmail
msg.Subject = "Bestilling af visitkort"

msg.Body = "Bestilling afgivet den " & Date & " klokken " & Time & "
fra: " & recipient & vbCrLf & "Navn: " & name & vbCrLf & "Titel: " &
titel & vbCrLf & "Adresse: " & vej & vbCrLf & "Postnummer og by: " & by
& vbCrLf & "Telefon: +45 " & tlf & vbCrLf & "Mobil: +45 " & mob & vbCrLf
& "Telefon privat: +45 " & ptlf & vbCrLf & "E-mail: " & senderEmail &
vbCrLf & "Website:" & web & vbCrLf &"Særlige ønsker: " & andet & vbCrLf
& "Antal: " & antal & vbCrLf &"Noter: " & info & vbCrLf
if not msg.Send("websmtp.domæne.dk") then
msg.Send("mailrelay.webhotel.dk")
log = msg.log
set msg = nothing
sendmail = false
else
sendmail = true
end if
end function

errMsg = ""
name = request("name")
phone = request("phone")
titel = request("titel")
adr = request("adr")
tlf = reuqest("tlf")
mail = reuqest("mail")
antal= reuqest("antal")
web = ("www.hjemmesideskolen.dk")
ptlf = request("ptlf")
mob = request("mob")
andet = request("andet")
info = request("info")
recipient = ("navn@domæne.dk")

if(validate()) then
   if(sendmail()) then
Response.write "<p>Bestilling afgivet den " & Date & " klokken " & Time
& "<br><br> <b>Fra: </b>" & name & "<br><br>"

Response.write "<b>Mail: </b><a href='mailto:" & senderEmail & "'>" &
senderEmail & "</a>"

Response.write "<br><br>Tak for din bestilling. Vi sender snarest et
korrektur til gennemsyn og godkendelse."
Response.write "</p>"
   else
      response.write log
   end if
end if
end if
%>
<html>
....
<body>
<%
if len(errMsg)>0 then
response.write replace(errMsg, "¤¤¤", "<br>")
end if
%>
<form>
....
</form>
....
</html>


Mvh
Jeppe

Erik Ginnerskov (16-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 16-11-04 15:59

JH wrote:

>> Formular:
>> http://hjemmesideskolen.dk/test/visitkort.asp
>>
>> Scripts:
>> http://hjemmesideskolen.dk/test/mail_sender.html
>>
>
> Du skal flytte hele logikken til at sende mail ind i din
> sendmail-funktion, eller du skal droppe funkionen. Under alle
> omstændigheder skal det flyttes ind i din if...:
>
> if request("command")="send" then
> dim msg, name, titel.......
> set msg = server......
> name = request...
> ...
> ...
> ...
> end if

Jeg har prøvet at flytte den kodeblok til forrest i mail_sender.asp lige
efter <% Option Explicit %> og jag har prøvet at flytte kodeblokken ind i
body lige før det script, der modtager og videresender data. Lige lidt hjælp
det. Ingen fejl bliver fanget.

> Du kan også pakke din kode ind i funktioner, det gør det lidt pænere,
> og så kan du måske genbruge dem:

> <%@ LANGUAGE="VBSCRIPT" %>
> <% Option Explicit %>
> <%
> dim msg, name, titel, adr, vej, by, errMsg, recipient, senderEmail,
> web, tlf, ptlf, mob, andet, antal, info, log
[klip en masse kode]
> end if
> end if
> end if
> %>
> <html>
> ...
> <body>
> <%
> if len(errMsg)>0 then
> response.write replace(errMsg, "¤¤¤", "<br>")
> end if
> %>
> <form>

Det har jeg også prøvet. Det giver denne fejl:
____

Microsoft VBScript runtime error '800a000d'
Type mismatch
/test/visitkort.asp, line 6
____

Linje 6 er:
if request("command")="send" then

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk




JH (19-11-2004)
Kommentar
Fra : JH


Dato : 19-11-04 19:12

Erik Ginnerskov wrote:
> Jeg har prøvet at flytte den kodeblok til forrest i mail_sender.asp lige
> efter <% Option Explicit %> og jag har prøvet at flytte kodeblokken ind i
> body lige før det script, der modtager og videresender data. Lige lidt hjælp
> det. Ingen fejl bliver fanget.
>
>
>>Du kan også pakke din kode ind i funktioner, det gør det lidt pænere,
>>og så kan du måske genbruge dem:
>
>
>><%@ LANGUAGE="VBSCRIPT" %>
>><% Option Explicit %>
>><%
>>dim msg, name, titel, adr, vej, by, errMsg, recipient, senderEmail,
>>web, tlf, ptlf, mob, andet, antal, info, log
>
> [klip en masse kode]
>
>>end if
>>end if
>>end if
>>%>
>><html>
>>...
>><body>
>><%
>>if len(errMsg)>0 then
>>response.write replace(errMsg, "¤¤¤", "<br>")
>>end if
>>%>
>><form>
>
>
> Det har jeg også prøvet. Det giver denne fejl:
> ____
>
> Microsoft VBScript runtime error '800a000d'
> Type mismatch
> /test/visitkort.asp, line 6
> ____
>
> Linje 6 er:
> if request("command")="send" then
>

Hej Erik

Hvor langt er du kommet med projektet?

Mvh
Jeppe

Erik Ginnerskov (20-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 20-11-04 20:19

JH wrote:

> Hej Erik
>
> Hvor langt er du kommet med projektet?

Se min nye tråd 'Inputvalidering' startet 18/11

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



terje (13-11-2004)
Kommentar
Fra : terje


Dato : 13-11-04 18:01

Erik Ginnerskov wrote:

> Når jeg prøver at sende en bestilling, returnerer scriptet den besked, at
> bestillingen er afsendt. Men den mail, der når frem, indeholder i body kun
> det ene ord 'Noter'.
>
> Forsøg med mangelfuld udfyldning af obligatoriske felter giver ingen
> fejlmelding retur.

Når du gjør en Response.Write på msg.Body *før* eposten sendes, er da
alle verdier med som de skal? I så fall må det være noe feil med JMail
koden nederst i skriptet.

terje

Erik Ginnerskov (13-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-11-04 22:32

terje wrote:

> Når du gjør en Response.Write på msg.Body *før* eposten sendes, er da
> alle verdier med som de skal? I så fall må det være noe feil med JMail
> koden nederst i skriptet.

Responce.Write skriver ikke til den mail, der sendes, men til den svarside,
der sendes til browseren, når bestillingen afsendes.

Men lige nu fungerer asp-scriptet med de data, som det er sat til at modtage
fra formularen til behandling og videresendelse.

Jeg mangler bare at:

1. Få scriptet til at modtage de valgte data fra de to valgbokse (afdeling
og antal)

2. Få scriptet til at give en advarsel og nægte at sende mailen, hvis de
påkrævede (mærket med *) felter er udfyldt.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Erik Ginnerskov (13-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-11-04 22:39

Erik Ginnerskov wrote:

> 2. Få scriptet til at give en advarsel og nægte at sende mailen, hvis
> de påkrævede (mærket med *) felter er udfyldt.

Sikke noget ævl. Advarslen skal selvfølgelig komme, hvis felterne *ikke* er
udfyldt.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste