/ 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
Modifikation af nyhedsbrev
Fra : Erik Ginnerskov


Dato : 28-08-04 15:57

Hej NG

Jeg har et for så vidt fungerende nyhedsbrev-funktion, som jeg prøver at
modificere lidt på.

Indtastningsformularen (som jeg prøver at få til at fungere) kan ses her:

http://www.hjemmesideskolen.dk/test/admin_nbrev_index.asp

Ændringerne i forholdt til den aktive side er:

1. Jeg har indsat et felt 'Overskrift' lige over 'Tekst'

2. Jeg har indsat et felt 'Signatur' lige under 'Tekst'

Jeg har følgende ønsker (som jeg ikke kan få til at fungere):

1. Alle disse tre felters indhold indlæses i forlængelse af
hinanden i den afsendte mails body. I øjeblikket er det
kun indholdet i 'Tekst' der afsendes. :o\

2. Det indtastede i 'Overskrift' skal gemmes i en cookie til
genbrug/opdatering på samme måde som det indtastede
i de fire øverste felter bliver gemt i cookien til genbrug.

Desuden kan jeg ikke få preview til at virke.

Det væsentlige i formularkoden kan ses på siden
http://www.hjemmesideskolen.dk/test/admin_formular.asp
Aspkoden, der sender mailen, kan ses på siden
http://www.hjemmesideskolen.dk/test/admin_send.asp
Aspkoden til preview-modulet kan ses på siden
http://www.hjemmesideskolen.dk/test/admin_pre.asp

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



 
 
Jens Gyldenkærne Cla~ (28-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-08-04 21:22

Erik Ginnerskov skrev:

> 1. Alle disse tre felters indhold indlæses i forlængelse af
> hinanden i den afsendte mails body. I øjeblikket er det
> kun indholdet i 'Tekst' der afsendes. :o\

Det er ret simpelt. I øjeblikket har du:

   body = Trim(Request.Form("body"))

[snip]

   mail.Body = body

Du skal bare tage de andre felter med - enten i din variabel, i en
ny variabel eller direkte når du skriver til mail.body. Du kan fx
gøre som her:

   header = Trim(Request.Form("body"))
   body = Trim(Request.Form("body"))
   signatur = Trim(Request.Form("body2"))

....
   mail.body = header & vbNewLine & body & vbNewline & signatur


   
> 2. Det indtastede i 'Overskrift' skal gemmes i en cookie

Gør du ikke allerede det?

Response.Cookies("Nyhedsbrev")("headline") = headline

Måske er problemet at du har glemt at lægge noget i headline-
variablen - prøv at bruge følgende først:

   headline = Request.Form("headline")



> Desuden kan jeg ikke få preview til at virke.

Hvordan virker det ikke? Kommer du korrekt til previewsiden når du
klikker på preview-knappen? Er der javascriptfejl før eller efter
du har trykket på knappen?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Erik Ginnerskov (28-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 28-08-04 21:37

Jens Gyldenkærne Clausen wrote:

> Det er ret simpelt. I øjeblikket har du:
>
> body = Trim(Request.Form("body"))
>
> [snip]
>
> mail.Body = body
>
> Du skal bare tage de andre felter med - enten i din variabel, i en
> ny variabel eller direkte når du skriver til mail.body. Du kan fx
> gøre som her:
>
> header = Trim(Request.Form("body"))
> body = Trim(Request.Form("body"))
> signatur = Trim(Request.Form("body2"))
>
> ...
> mail.body = header & vbNewLine & body & vbNewline & signatur

Det vil jeg forsøge

> Gør du ikke allerede det?
>
> Response.Cookies("Nyhedsbrev")("headline") = headline


Den kodelinje indførte jeg i det naive håb, at det var løsningen, men

> Måske er problemet at du har glemt at lægge noget i headline-
> variablen - prøv at bruge følgende først:
>
> headline = Request.Form("headline")

Jeg forsøger med det også.

>> Desuden kan jeg ikke få preview til at virke.
>
> Hvordan virker det ikke?

Der sker ganske enkelt ikke en sk.., når jeg klikker på Preview.

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



Jens Gyldenkærne Cla~ (28-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-08-04 21:53

Erik Ginnerskov skrev:

>> Hvordan virker det ikke?
>
> Der sker ganske enkelt ikke en sk.., når jeg klikker på
> Preview.

Har du tjekket for javascriptfejl (fx med javascriptkonsollen i
Firefox eller Mozilla)?

Bliver du på samme side eller skifter adressen til preview-siden?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Erik Ginnerskov (28-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 28-08-04 22:18

Jens Gyldenkærne Clausen wrote:

>> Der sker ganske enkelt ikke en sk.., når jeg klikker på
>> Preview.
>
> Har du tjekket for javascriptfejl (fx med javascriptkonsollen i
> Firefox eller Mozilla)?

Ja, nu. Fire fejlmeldinger på linje 17:
document.nyhedsbrev has no proberties
admin_nbrev_preview is not defined
admin_nbrev_preview is not defined (en gentagelse af fejl 2?)
string is not a function

> Bliver du på samme side eller skifter adressen til preview-siden?

Den bliver på samme side.

Javascriptet er vist øverst på
http://www.hjemmesideskolen.dk/test/admin_formular.asp

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



Erik Ginnerskov (28-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 28-08-04 22:30

Jens Gyldenkærne Clausen wrote:

> body = Trim(Request.Form("body"))
>
> [snip]
>
> mail.Body = body

Den sidste linje kan jeg ikke se i aspscriptet.

> Du skal bare tage de andre felter med - enten i din variabel, i en
> ny variabel eller direkte når du skriver til mail.body. Du kan fx
> gøre som her:
>
> header = Trim(Request.Form("body"))
> body = Trim(Request.Form("body"))
> signatur = Trim(Request.Form("body2"))

Jeg har nu indført dette:

headline = Trim(Request.Form("headline"))
body = Trim(Request.Form("body"))
signatur = Trim(Request.Form("signatur"))

.... og jeg har nu opnået, at formularen gemmer Headline i cookien.

> mail.body = header & vbNewLine & body & vbNewline & signatur

Jeg kunne jævnfør ovenstående ikke se, hvor den linje skulle sættes ind. Jeg
førsøgte umiddelbart efter de tre andre linjer, men det gav scriptfejl
(header havde jeg rettet til headline):

<citat>Microsoft VBScript runtime error '800a01a8'
Object required: ''
/test/admin_nbrev_send.asp, line 33</citat>

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



pepss (29-08-2004)
Kommentar
Fra : pepss


Dato : 29-08-04 10:52


"Erik Ginnerskov" skrev

jeg vil da også lige prøve at hjælpe en af "de håre drange" fra
nyhedsgrupperne

> > mail.body = header & vbNewLine & body & vbNewline & signatur
>
> Jeg kunne jævnfør ovenstående ikke se, hvor den linje skulle sættes ind.

den har du så som et par og 20 stykker. den heder bare .body

> Jeg førsøgte umiddelbart efter de tre andre linjer, men det gav scriptfejl
> (header havde jeg rettet til headline):
>
> <citat>Microsoft VBScript runtime error '800a01a8'
> Object required: ''
> /test/admin_nbrev_send.asp, line 33</citat>

her ville det jo så være rat at vide hvad line 33 er


--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk
De frække noveller www.novelle.cafe-flirt.dk



Erik Ginnerskov (29-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 29-08-04 17:18

pepss wrote:

>>> mail.body = header & vbNewLine & body & vbNewline & signatur
>>
>> Jeg kunne jævnfør ovenstående ikke se, hvor den linje skulle sættes
>> ind.
>
> den har du så som et par og 20 stykker. den heder bare .body
>
>> Jeg førsøgte umiddelbart efter de tre andre linjer, men det gav
>> scriptfejl (header havde jeg rettet til headline):
>>
>> <citat>Microsoft VBScript runtime error '800a01a8'
>> Object required: ''
>> /test/admin_nbrev_send.asp, line 33</citat>
>
> her ville det jo så være rat at vide hvad line 33 er

Ok, linje 33 er denne:

mail.body = headline & vbNewLine & body & vbNewline & signatur

Du kan se hele php-scriptet her:
http://www.hjemmesideskolen.dk/test/admin_send.asp

Linjen havde jeg sat ind umiddelbart efter < signatur =
Trim(Request.Form("signatur")) >

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



Erik Ginnerskov (29-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 29-08-04 17:36

Jens Gyldenkærne Clausen wrote:

> mail.Body = body

> ...
> mail.body = header & vbNewLine & body & vbNewline & signatur

Nu fik jeg det til at køre. Det hjalp åbenbart at sove på det. I blokken
her:

With mail
..ServerAddress = mailserver
..Sender = afsender_mail
..SenderName = afsender_navn
..Subject = subject
..Body = body
..Priority = priority

.... ændrede jeg næstsidste linje som du anbefalede ovenstående.

Tak for hjælpen så langt, Jens.

Nu mangler jeg bare at finde ud af, hvorfor preview ikke virker.

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



Erik Ginnerskov (30-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 30-08-04 08:21

Erik Ginnerskov wrote:

> With mail
> .ServerAddress = mailserver
> .Sender = afsender_mail
> .SenderName = afsender_navn
> .Subject = subject
> .Body = headline & vbNewLine & body & vbNewline & signatur
> .Priority = priority

En sidste lille bøn:

I øjeblikket er jeg i formularens textarea (til indtastning af indhold i
body) nødt til at starte og afslutte med en tom linje, hvis jag vil have en
tom linje efter headline og før signatur i den mail, der når frem til
afsender.

Jeg har prøvet at modificere denne linje:

<.Body = headline & vbNewLine & body & vbNewline & signatur>

.... til

<.Body = headline & vbNewLine & vbNewLine & body & vbNewline & vbNewLine &
signatur>

Men det virker ikke (mailen kommer godt nok af sted, men uden den ønskede
ekstra tomme linje). Kan man indsætte noget andet kode, der automatisk laver
de ønskede tomme linjer?

Jeg synes, at den resulterende mail er kønnere og mere læsevenlig med denne
opdeling i stedet for at det hele kommer i en lang køre.

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



Erik Ginnerskov (30-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 30-08-04 08:27

Erik Ginnerskov wrote:

> der når frem til afsender.

Det skulle naturligvis have været 'der når frem til modtager'.

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



Jens Gyldenkærne Cla~ (29-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 29-08-04 21:10

Erik Ginnerskov skrev:

> Ja, nu. Fire fejlmeldinger på linje 17:
> document.nyhedsbrev has no proberties

O.k. - document.nyhedsbrev får altså ikke fat i din form (med
id=nyhedsbrev).

Jeg vil tro at du kan nå den med document.forms['nyhedsbrev'],
eller med document.getElementById('nyhedsbrev') - men det kan de
bedre svare på i javascriptgruppen. Jeg krydsposter dertil

> Javascriptet er vist øverst på
> http://www.hjemmesideskolen.dk/test/admin_formular.asp

Jeg har ladet referencen stå, så nytilkomne i javascriptgruppen
også kan se scriptet.
X-Post über 2 Gruppen, FollowUp-To dk.edb.internet.webdesign.clientside
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Erik Ginnerskov (29-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 29-08-04 21:43

Jens Gyldenkærne Clausen wrote:
> Erik Ginnerskov skrev:
>
>> Ja, nu. Fire fejlmeldinger på linje 17:
>> document.nyhedsbrev has no proberties
>
> O.k. - document.nyhedsbrev får altså ikke fat i din form (med
> id=nyhedsbrev).

Jeg må hellere repetere for de, der ikke så starten af tråden i asp-gruppen:

Jeg kører ved hjælp af et asp-script og en access-database en
nyhedbrev-funktion. Alt andet fungerer upåklageligt, men der er en indbygget
preview-funktion, som skulle kunne vise mig, hvordan mailen tager sig ud,
inden jeg sender mailen.

Men preview-funktionen virker ikke. Når jeg på formularsiden - til
indtastning af mailen - sker der nada.

Der er adgang til en prøve på hele systemet her:

http://www.hjemmesideskolen.dk/test/admin_nbrev_index.asp

Javascriptet, der skal aktivere preview, er noteret øverst på

http://www.hjemmesideskolen.dk/test/admin_formular.asp

Preview-koden kan ses her:

http://www.hjemmesideskolen.dk/test/admin_pre.asp

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



Jens Gyldenkærne Cla~ (30-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 30-08-04 12:46

Erik Ginnerskov skrev:

> <.Body = headline & vbNewLine & vbNewLine & body & vbNewline &
> vbNewLine &
> signatur>


Det burde virke - med mindre du bruger html til din mail (det
regner jeg ikke med at du gør). Er du sikker på at det ikke er en
gammel version du får submittet?

Du kan evt. prøve med vbCrLf i stedet for vbNewLine - men det bør
ikke gøre nogen forskel. Hvis det i stedet er mailkomponenten der
fjerner overskydende whitespace, kan du prøve med vbNewLine & " " &
vbNewLine. For nemheds skyld kan du evt. pakke den ind i en
variabel - så bliver body-linjen lettere at læse, og du har også
lettere ved at rette til hvis du på et tidspunkt fx vil have tre
linjer mellem dine blokke:

Dim deler

deler = vbNewline & " " & vbNewline

With mail ...
   .body = headline & deler & body & deler & signatur


> Jeg synes, at den resulterende mail er kønnere og mere
> læsevenlig med denne opdeling i stedet for at det hele kommer
> i en lang køre.

Det forstår jeg godt.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Erik Ginnerskov (30-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 30-08-04 15:13

Jens Gyldenkærne Clausen wrote:

<.Body = headline & vbNewLine & vbNewLine & body & vbNewline & vbNewLine &
signatur>
>
>
> Det burde virke - med mindre du bruger html til din mail (det
> regner jeg ikke med at du gør).

Ikke forstået. Jeg sender godt nok fra en html-formular men sender via det
asp-script, vi er i gang med at modificere.

> Er du sikker på at det ikke er en gammel version du får submittet?

Når jeg uploader admin_nbrev_send.asp med rettelser, inden jeg sender fra
admin_nbrev_index.asp, kan det ikke være en gammel version.
>
> Du kan evt. prøve med vbCrLf i stedet for vbNewLine - men det bør
> ikke gøre nogen forskel. Hvis det i stedet er mailkomponenten der
> fjerner overskydende whitespace, kan du prøve med vbNewLine & " " &
> vbNewLine.

<vbNewLine & " " & vbNewLine> gjorde tricket.

Sjovt nok havde jeg netop forsøgt med <vbNewLine & '&nbsp;' & vbNewLine> men
det fik scriptet til at fejle.

> For nemheds skyld kan du evt. pakke den ind i en
> variabel - så bliver body-linjen lettere at læse, og du har også
> lettere ved at rette til hvis du på et tidspunkt fx vil have tre
> linjer mellem dine blokke:

Sidstnævnte vil ikke komme på tale. Alt er tiptop nu.

> Dim deler
>
> deler = vbNewline & " " & vbNewline

Det kan jeg ikke finde ud af at sætte ind i scriptet. Jeg er desværre stadig
newbe mht. asp (og php (ikke relevant her)).
>
> With mail ...
> .body = headline & deler & body & deler & signatur

Det ville ellers gøre koden lettere at tyde.

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



Jens Gyldenkærne Cla~ (30-08-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 30-08-04 17:05

Erik Ginnerskov skrev:

>> Det burde virke - med mindre du bruger html til din mail

> Ikke forstået.

Mailformat - enten ren tekst eller html. Jeg går ud fra at du ikke
sender nyhedsbrevet som html-mail, men er ikke sikker.


> <vbNewLine & " " & vbNewLine> gjorde tricket.

Godt.


> Sjovt nok havde jeg netop forsøgt med <vbNewLine & '&nbsp;' &
> vbNewLine> men det fik scriptet til at fejle.

Ikke så mærkeligt. '-tegnet markerer en kommentar i asp, så alt
efter det første '-tegn på linjen bliver ikke behandlet. Men hvis
du ikke anvender html-format i din mail, har &nbsp; jo alligevel
ikke noget at gøre der - og hvis du gør, så giver
[linjeskift]+&nbsp;+[linjeskift] jo ikke en ny linje...

I en html-mail vil det letteste nok være at pakke hver enkelt del
ind i et afsnit ("<p>" & headline & "</p><p>" ...) - hvad du
utvivlsomt allerede er klar over.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Erik Ginnerskov (30-08-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 30-08-04 17:40

Jens Gyldenkærne Clausen wrote:

> Mailformat - enten ren tekst eller html. Jeg går ud fra at du ikke
> sender nyhedsbrevet som html-mail, men er ikke sikker.

Nåh, sådan. Nej, det er ren tekst.

>> forsøgt med <vbNewLine & '&nbsp;' &
>> vbNewLine> men det fik scriptet til at fejle.
>
> Ikke så mærkeligt. '-tegnet markerer en kommentar i asp, så alt
> efter det første '-tegn på linjen bliver ikke behandlet. Men hvis
> du ikke anvender html-format i din mail, har &nbsp; jo alligevel
> ikke noget at gøre der - og hvis du gør, så giver
> [linjeskift]+&nbsp;+[linjeskift] jo ikke en ny linje...

Det var ellers, hvad jeg - fejlagtigt, da det jo ikke er en html.mail -
havde regnet med.

> I en html-mail vil det letteste nok være at pakke hver enkelt del
> ind i et afsnit ("<p>" & headline & "</p><p>" ...) - hvad du
> utvivlsomt allerede er klar over.

Var mailen blevet udskrevet i html-format, havde det garanteret været min
første indskydelse at gøre det på den måde.

Men mange tak for hjælpen. Nu er funktionaliteten i min nyhedsbrev-funktion
blevet øget adskillige grader. Jeg futter over i clientside og håber på, at
der snart kommer svar på problemet med preview.

--
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 : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste