/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Validering af felter i mailformular?
Fra : Erik M. Nielsen


Dato : 10-04-02 18:43

Hvordan sikrer jeg at felterne i min mailform er udfyldt, og samtidig gør
brugeren opmærksom hvis der mangler data i felterne?
Erik



 
 
Kasper Damkjær (10-04-2002)
Kommentar
Fra : Kasper Damkjær


Dato : 10-04-02 21:28

Erik M. Nielsen skrev: (messageID: <news:a91tie$8ck$1@sunsite.dk>)

> Hvordan sikrer jeg at felterne i min mailform er udfyldt, og samtidig gør
> brugeren opmærksom hvis der mangler data i felterne?

Det gør du nemmest med javascript. På den måde valideres formularen
clientside, før der submittes noget til serveren.

For tage højde for brugere, der evt. har slået javascript fra, bør du dog
også validere data serverside, før de sendes som mail.

Du kan læse mere om validering af forms med javascript på:
http://www.html.dk/scripts/javascript/
her findes også færdige scripts til formålet.

--
Kasper Damkjær

http://www.damkjaer.net/
- endelig kom v. 3! :)

Jacob Atzen (10-04-2002)
Kommentar
Fra : Jacob Atzen


Dato : 10-04-02 21:56

"Kasper Damkjær" <usenet@damkjaer.net> writes:

> Erik M. Nielsen skrev: (messageID: <news:a91tie$8ck$1@sunsite.dk>)
>
> > Hvordan sikrer jeg at felterne i min mailform er udfyldt, og samtidig gør
> > brugeren opmærksom hvis der mangler data i felterne?
>
> Det gør du nemmest med javascript. På den måde valideres formularen
> clientside, før der submittes noget til serveren.

Og her ville jeg så påstå, at det er betydeligt nemmere at validere en
email adresse mod et regex i php, men det er nok bare mig ;)

--
Med venlig hilsen / Regards
- Jacob Atzen

Peter Brodersen (10-04-2002)
Kommentar
Fra : Peter Brodersen


Dato : 10-04-02 22:21

On 10 Apr 2002 22:55:55 +0200, Jacob Atzen <jacob_a@spamos.dk> wrote:

>Og her ville jeg så påstå, at det er betydeligt nemmere at validere en
>email adresse mod et regex i php, men det er nok bare mig ;)

Nu kan man jo også bruge regex i JavaScript. Så det er jo let nok at
have sin regex liggende i en variabel, som man så både outputter i sit
JavaScript, samt bruger i sin PHP-kode. Det vil i hvert fald sikre, at
den samme validering foretages begge steder, samt at man stadigvæk kun
behøver at rette den til ét sted.

--
- Peter Brodersen

Jonas Koch Bentzen (10-04-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 10-04-02 22:50

Jacob Atzen skrev:
>
> Og her ville jeg så påstå, at det er betydeligt nemmere at validere en
> email adresse mod et regex i php, men det er nok bare mig ;)

Det kan man jo også i JavaScript (utestet):

function tjekEmailadresse() {

return (document.getElementById("emailfelt").value.match(/[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2
,6}/)) ? true : false
}

--
Jonas Koch Bentzen

PHP-databaseklasse til PostgreSQL og MySQL:
http://understroem.dk/fasdab/

Erik M. Nielsen (11-04-2002)
Kommentar
Fra : Erik M. Nielsen


Dato : 11-04-02 05:47

"Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> skrev i en meddelelse
news:a92c1i$846$1@sunsite.dk...
> Jacob Atzen skrev:
> >
> > Og her ville jeg så påstå, at det er betydeligt nemmere at validere en
> > email adresse mod et regex i php, men det er nok bare mig ;)
>
> Det kan man jo også i JavaScript (utestet):
>
> function tjekEmailadresse() {
>
> return
(document.getElementById("emailfelt").value.match(/[a-zA-Z0-9._-]+@[a-zA-Z0-
9.-]+\.[a-zA-Z]{2
> ,6}/)) ? true : false
Ja - ja, snak i bare! men hvad med mig? Jeg fatter jo ikke en brik
Erik



Kim Emax - ayianapa.~ (11-04-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 11-04-02 14:40


"Erik M. Nielsen" <genealogiANTISPAM@spamfilter.dk> skrev

>
(document.getElementById("emailfelt").value.match(/[a-zA-Z0-9._-]+@[a-zA-Z0-
> 9.-]+\.[a-zA-Z]{2
> > ,6}/)) ? true : false
> Ja - ja, snak i bare! men hvad med mig? Jeg fatter jo ikke en brik

ja men det er dig, der spørger... så må du igang med at fatte REGEX, du har
vel ikke planer om at smide en post her _hvergang_ du skal validere et felt?


google -> "regular expression + tutorial" vil nok finde et eller andet til
dig...

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Erik M. Nielsen (11-04-2002)
Kommentar
Fra : Erik M. Nielsen


Dato : 11-04-02 15:59

"Kim Emax - ayianapa.dk" <newsgroup@fjerndette-ayianapa.dk> skrev i en
meddelelse news:_lgt8.14812$567.810936@news000.worldonline.dk...
>
> "Erik M. Nielsen" <genealogiANTISPAM@spamfilter.dk> skrev

> ja men det er dig, der spørger... så må du igang med at fatte REGEX, du
har
> vel ikke planer om at smide en post her _hvergang_ du skal validere et
felt?
Tak for dit uddybende og forklarende svar. Du skal ikke føle dig forpligtet
en anden gang!
Erik



Thomas Jensen - pil.~ (11-04-2002)
Kommentar
Fra : Thomas Jensen - pil.~


Dato : 11-04-02 16:20

On Thu, 11 Apr 2002 16:58:54 +0200, "Erik M. Nielsen"
<genealogiANTISPAM@spamfilter.dk> wrote:

>"Kim Emax - ayianapa.dk" <newsgroup@fjerndette-ayianapa.dk> skrev i en
>meddelelse news:_lgt8.14812$567.810936@news000.worldonline.dk...
>>
>> "Erik M. Nielsen" <genealogiANTISPAM@spamfilter.dk> skrev
>
>> ja men det er dig, der spørger... så må du igang med at fatte REGEX, du
>har
>> vel ikke planer om at smide en post her _hvergang_ du skal validere et
>felt?
>Tak for dit uddybende og forklarende svar. Du skal ikke føle dig forpligtet
>en anden gang!

personligt har jeg valideret mange felter... og jeg fatter til
stadighed ikke regex .)

--
vh
Thomas Jensen, pil.dk
Nyt produkt: http://pil.dk/produkter/vserver/

Kim Emax - ayianapa.~ (11-04-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 11-04-02 16:39


"Thomas Jensen - pil.dk" <tj@dev.null> skrev i

> personligt har jeg valideret mange felter... og jeg fatter til
> stadighed ikke regex .)

du ringer bare, Thomas

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Hroi Sigurdsson (16-04-2002)
Kommentar
Fra : Hroi Sigurdsson


Dato : 16-04-02 19:56

"Kim Emax - ayianapa.dk" wrote:

> > personligt har jeg valideret mange felter... og jeg fatter til
> > stadighed ikke regex .)
>
> du ringer bare, Thomas

Jeg kunne godt tænke mig at høre dig udtale den fulde RFC822 matchende
regex
(den fylder nok en sides penge eller mere)

--
Hroi Sigurdsson hroi@asdf.dk
Danske nyhedsfeeds i RSS-format: http://asdf.dk/rss/da/

Peter Brodersen (16-04-2002)
Kommentar
Fra : Peter Brodersen


Dato : 16-04-02 21:41

On Tue, 16 Apr 2002 20:56:16 +0200, Hroi Sigurdsson <hroi@asdf.dk>
wrote:

>Jeg kunne godt tænke mig at høre dig udtale den fulde RFC822 matchende
>regex



Det er dog blot sjældent, at det er den, man har behov for at validere
op imod, men der er opstået uhyggeligt mange misforståelser på den
front. php.net har også erkendt, at der er skræmmende mange
submissions, så på deres "add note"-side står der ligefrem:

"And if you're posting an example of validating email addresses,
please don't bother. "

Dertil kommer, at hvis man fx har et input-felt til at indtaste navn,
og et andet til at indtaste e-mail-adresse. RFC822 (eller 2822, om man
vil) omhandler ikke blot det, vi kalder for "e-mail-adressen" (fx
hroi@asdf.dk), men hele string'en, fx:
Hroi Sigurdsson <hroi@asdf.dk>
"Kim Emax - ayianapa.dk" <newsgroup@fjerndette-ayianapa.dk>

Med andre ord: Når man i første omgang har opdelt hele den string (med
fx "Indtast fornavn", "Indtast efternavn", "Indtast adresse"), så er
det op til ens egen konstruktion/sammensætning hvad der tilfældigvis
er acceptabelt under "adresse".

Dertil kommer selvfølgelig også, at man bør spørge sig selv hvad
formålet med valideringen er. Hvis det er en service, så fint nok.
Hvis det er for at tvinge folk til at indtaste en teknisk gyldig
adresse, for at de ikke må indtaste noget blankt, så bør man overveje
om det virkelig er løsningen, og om man ikke også risikerer en del
fakes på den konto.

--
- Peter Brodersen

Kim Emax - ayianapa.~ (17-04-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 17-04-02 12:00


"Peter Brodersen" <professionel@nerd.dk> skrev

> Dertil kommer selvfølgelig også, at man bør spørge sig selv hvad
> formålet med valideringen er. Hvis det er en service, så fint nok.
> Hvis det er for at tvinge folk til at indtaste en teknisk gyldig
> adresse, for at de ikke må indtaste noget blankt, så bør man overveje
> om det virkelig er løsningen, og om man ikke også risikerer en del
> fakes på den konto.

nemli... jeg bruger tit penguin@image.dk, når folk partout vil have en valid
E-mail adresse

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Kim Emax - ayianapa.~ (11-04-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 11-04-02 16:39


"Erik M. Nielsen" <genealogiANTISPAM@spamfilter.dk> skrev

> Tak for dit uddybende og forklarende svar. Du skal ikke føle dig
forpligtet
> en anden gang!

Bemærk den smiley, der følger med. Men jeg føler mig bestemt ikke forpligtet
til at hjælpe, det er af ren lyst jeg gør det. Og det hjælper altså ikke at
blive sur, vel?

REGEX er LIDT for omfattende til at forklare her, men i store træk funger
det sådan at du smider det, du ønsker at matche i [] efterfulgt af *(nul
eller flere gange), +(en eller flere gange). Punktum betyder "et vilkårligt
tegn", ? "evt. et vilkårligt tegn, ^ "starten af strengen"(medmindre det er
indeni []), og $ "slut af strengen.

Vil du kun have bogstaver og tal i inputtet tjekkes det med ^[a-zA-Z0-9]$

vil du vide mere, må du i gang med at læse og teste. Håber det hjalp dig
lidt

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Kim Emax - ayianapa.~ (11-04-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 11-04-02 16:53


"Kim Emax - ayianapa.dk" <newsgroup@fjerndette-ayianapa.dk> skrev

> Vil du kun have bogstaver og tal i inputtet tjekkes det med ^[a-zA-Z0-9]$

og i det eksempel Jonas giver står følgende:

(/[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/))

"et eller flere" bogstaver/tal/punktummer_og/eller - efterfulgt af @
efterfulgt af et eller flere" bogstaver/tal/punktummer og/eller - så et
punktum efterfulgt af 2 til 6 bogstaver.

Der er et par huller, bl.a. mener jeg ikke man må have et . i et domainnavn,
og vil man kan man taste en e-mail adresse .@..dk - som helt sikkert ikke er
valid, men det er et spørgsmål om, hvor picky man vil være med sine REGEX -
til gengæld tillader den også .museum adresser, hvilket mange ikke gør,
højst sandsynligt fordi de ikke kender til dette toplevel

i PHP ville du implementere dette REGEX således:

if(ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$",$email))
print "korrekt E-mail adresse";

forudsat du har kaldt input feltet for "email"

Gider du så ikke matche store og små bogstaver, så brnytter du bare eregi(),
som er case insensitiv.

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Allan E (13-04-2002)
Kommentar
Fra : Allan E


Dato : 13-04-02 10:50

"Kim Emax - ayianapa.dk" <newsgroup@fjerndette-ayianapa.dk> wrote in message
news:mjit8.15057$567.820163@news000.worldonline.dk...

> Der er et par huller, bl.a. mener jeg ikke man må have et . i et
domainnavn,

Hmm, har du hørt om subdomains?? Fx. er der mange der bruger noget a la
minmail@sub.zzn.com .
I så fald vil der være . i domainet....

Mvh Allan E



Kim Emax - ayianapa.~ (14-04-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 14-04-02 20:12


"Allan E" <ege@per_fjern_son.dk> skrev

> Hmm, har du hørt om subdomains?? Fx. er der mange der bruger noget a la
> minmail@sub.zzn.com .
> I så fald vil der være . i domainet....

ja, og jeg skrev domainnavn Men jeg må indrømme at jeg ikke har set og
tænkt over at der findes E-mails med et subdomainnavn men, hvorfor ikke?

Min holdning til et tjek på en E-mail adresse er nu også at brugeren må selv
om han vil spille fjols og taste en falsk E-mail adresse ind. Han var
åbenbart ikke interesseret i at modtage oplysningerne, der skulle sendes til
denne adresse... og heller ikke værd at opsøge som kunde

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Peter Brodersen (15-04-2002)
Kommentar
Fra : Peter Brodersen


Dato : 15-04-02 03:09

On Sun, 14 Apr 2002 21:11:51 +0200, "Kim Emax - ayianapa.dk"
<newsgroup@fjerndette-ayianapa.dk> wrote:

>Men jeg må indrømme at jeg ikke har set og
>tænkt over at der findes E-mails med et subdomainnavn men, hvorfor ikke?

Så skriver du ikke så meget sammen med fx englændere? :) (fx
bbc.co.uk)

--
- Peter Brodersen

-Martin- (15-04-2002)
Kommentar
Fra : -Martin-


Dato : 15-04-02 00:16

On Thu, 11 Apr 2002 17:53:15 +0200, "Kim Emax - ayianapa.dk"
<newsgroup@fjerndette-ayianapa.dk> wrote:

>
>"Kim Emax - ayianapa.dk" <newsgroup@fjerndette-ayianapa.dk> skrev
>
>> Vil du kun have bogstaver og tal i inputtet tjekkes det med ^[a-zA-Z0-9]$
>
>og i det eksempel Jonas giver står følgende:
>
>(/[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/))

Hmmm mig@2650.dyndns.dk virker ikk helt :)

Ja man kan jo selv i disse dage med dynamiske dns'er osv. have sin
egen mailserver stående

Erik M. Nielsen (10-04-2002)
Kommentar
Fra : Erik M. Nielsen


Dato : 10-04-02 21:59

"Kasper Damkjær" <usenet@damkjaer.net> skrev i en meddelelse
news:Xns91ECE46627A5Cusenetdamkjaernet@194.19.194.5...
> Erik M. Nielsen skrev: (messageID: <news:a91tie$8ck$1@sunsite.dk>)
>
> > Hvordan sikrer jeg at felterne i min mailform er udfyldt, og samtidig
gør
> > brugeren opmærksom hvis der mangler data i felterne?
>
> Det gør du nemmest med javascript. På den måde valideres formularen
> clientside, før der submittes noget til serveren.
Hej.
Har prøvet og det virker fint, men hvordan tilføjer jeg flere felter?
Erik
<script type="text/javascript">

function validering()
{
error = 0;
if((document.forms[0].Navn.value=='') && (error==0))
{
alert('Tekstfeltet skal udfyldes!');
document.forms[0].Navn.focus();
error = 1;
}

if(error == 0)
document.forms[0].submit();
}

// Slut -->
</script>


<form action="" method="post" onsubmit="validering();return false;">
<input type="text" name="Navn">
.......klip
</form>




Andreas Kleist Svend~ (11-04-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 11-04-02 08:14

Erik M. Nielsen wrote:

> Har prøvet og det virker fint, men hvordan tilføjer jeg flere felter?

Dit næste felt hedder så document.forms[1], men du er i den forkerte
gruppe, javascript hører til i clientside-gruppen.

--
mvh Andreas Kleist Svendsen

Erik M. Nielsen (11-04-2002)
Kommentar
Fra : Erik M. Nielsen


Dato : 11-04-02 12:00

"Andreas Kleist Svendsen" <usenetnospam@nau.dk> skrev i en meddelelse
news:a93d4l$l58$1@sunsite.dk...
> Erik M. Nielsen wrote:
>
> > Har prøvet og det virker fint, men hvordan tilføjer jeg flere felter?
>
> Dit næste felt hedder så document.forms[1], men du er i den forkerte
> gruppe, javascript hører til i clientside-gruppen.

Nope - jeg spurgte om validering af felter i mailform i php!
Nogle har så foreslået javascript!
Erik



Thomas Jensen - pil.~ (11-04-2002)
Kommentar
Fra : Thomas Jensen - pil.~


Dato : 11-04-02 12:17

On Thu, 11 Apr 2002 13:00:28 +0200, "Erik M. Nielsen"
<genealogiANTISPAM@spamfilter.dk> wrote:

>"Andreas Kleist Svendsen" <usenetnospam@nau.dk> skrev i en meddelelse
>news:a93d4l$l58$1@sunsite.dk...
>> Erik M. Nielsen wrote:
>>
>> > Har prøvet og det virker fint, men hvordan tilføjer jeg flere felter?
>>
>> Dit næste felt hedder så document.forms[1], men du er i den forkerte
>> gruppe, javascript hører til i clientside-gruppen.
>
>Nope - jeg spurgte om validering af felter i mailform i php!
>Nogle har så foreslået javascript!

lav en søgning på class.validator.php

--
vh
Thomas Jensen, pil.dk
Nyt produkt: http://pil.dk/produkter/vserver/

Kim Emax - ayianapa.~ (11-04-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 11-04-02 14:41


"Thomas Jensen - pil.dk" <tj@dev.null> skrev

> lav en søgning på class.validator.php

næste spørgsmål: "hvordan bruger jeg klasser?" _Du_ svarer Thomas

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



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

Månedens bedste
Årets bedste
Sidste års bedste