indahla Skrevet 28. februar 2006 Rapporter Del Skrevet 28. februar 2006 Jeg vil sjekke at feltet for e-post virkelig inneholder en e-post adresse. Hvilken regexp(?) kan jeg bruke for dette? Lenke til kommentar
allyse Skrevet 28. februar 2006 Rapporter Del Skrevet 28. februar 2006 (endret) noe ala dette kanskje? Gikk litt fort i svingene, men det skal funke preg_match("[^[a-z0-9.-_]{1,}@[a-z0-9.-_]{1,}.[a-z]{2,}$]", $email) Endret 28. februar 2006 av allyse Lenke til kommentar
Arne Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 Off-topic: Allyse: Har du hugsa alle dei teikna der? Eller har du kopiert frå php.net? Lenke til kommentar
allyse Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 (endret) Off-topic: Allyse: Har du hugsa alle dei teikna der? Eller har du kopiert frå php.net? 5684494[/snapback] Jeg husker slikt, men det er da ikke så veldig avansert oppsett det der. Kopierte bare denne ut fra et program jeg jobber med Det er vel en generelt normal måte å hente ut en epostadresse på, og jeg tror det finnes ala på nettet om du søker litt Endret 1. mars 2006 av allyse Lenke til kommentar
Arne Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 Kan du sei meg korleis du klarer å hugse noko sånnt? Logisk? Lenke til kommentar
allyse Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 Kan du sei meg korleis du klarer å hugse noko sånnt?Logisk? 5685115[/snapback] Ja, er logisk for min del. Er som alt annet. Ser kryptisk ut til du forstår sammenhengen Lenke til kommentar
Arne Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 Korleis, forklar litt då! (Er nyskjerrig) Korleis ser det logisk ut? Lenke til kommentar
allyse Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 (endret) Korleis, forklar litt då! (Er nyskjerrig)Korleis ser det logisk ut? 5685143[/snapback] hehe. mja preg_match("[^[a-z0-9.-_]{1,}@[a-z0-9.-_]{1,}.[a-z]{2,}$]", $email) da ser i hvert fall jeg ^ = start på linjen, finne [tallogbokstaver] en eller flere = {1,} så en @ såfinne [tallogbokstaver] så et puntum så vilkårlig bokstaver fra a-z minimum 2 stk så $ slutt på linjen Endret 1. mars 2006 av allyse Lenke til kommentar
CruellaDeVille Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 Korleis, forklar litt då! (Er nyskjerrig)Korleis ser det logisk ut? 5685143[/snapback] Deler koden i mindre biter: preg_match <- Funksjonen som søker etter mønter -> mønster det skal matche [^[a-z0-9.-_]{1,}@[a-z0-9.-_]{1,}.[a-z]{2,}$]", --> Variabel som mønster/pattern skal matches mot = $email Videre: [a-z0-9.-_]{1,} <-- sier at mønster for første del skal være bokstaver (i lowercase) mellom a til z, kan også inneholde tall mellom 0 og 9 samt punktum(.), bindestrek (-) og underscore (_). Disse skal være en eller flere av (vises i {1, } Deretter skal det være en alfakrøll (@) Så samme mønster som første del ([a-z0-9.-_]{1,}) etterfulgt av et punktum og siste del av mønsteret skal være bokstaver mellom a-z, minimum to stykker. Du kan også bruke ereg, ereg('^[a-zA-Z0-9\-\.]+@[a-zA-Z0-9]+\.[\a-zA-Z0-9\_\.]+$', $epost); Denne sier ingenting om antall bokstaver som hver del må inneholde Ble det litt mer forståelig nå? Lenke til kommentar
stian90_2 Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 Kan du bare forklare fort hvordan man kan bruke den i et registrerings greie ? har noe slikt $mail = $_POST['mail']; $sql = "INSERT INTO brukere mail='$mail' WHERE id='$id'" men hvordan kan jeg skjekke den mellom der ? gidder ikke sitte og prøve,om du kan forklare det kjapt =) PS: dette er ikke et forsøk på og stjele tråden, men vis andre (inkludert meg selv ) skulle lure på dette, så står det jo Lenke til kommentar
allyse Skrevet 1. mars 2006 Rapporter Del Skrevet 1. mars 2006 (endret) if (preg_match("[^[a-z0-9.-_]{1,}@[a-z0-9.-_]{1,}.[a-z]{2,}$]", $mail)){ $sql = "INSERT INTO brukere mail='$mail' WHERE id='$id'" }else{ echo "Epost validerer ikke"; } Veit en ikke trenger braketter her, men liker å bruke dem for oversikt Endret 1. mars 2006 av allyse Lenke til kommentar
Arne Skrevet 2. mars 2006 Rapporter Del Skrevet 2. mars 2006 Allyse: Det forutset at du har $mail = $_POST['mail']; Lenke til kommentar
kakkle Skrevet 2. mars 2006 Rapporter Del Skrevet 2. mars 2006 Allyse: Det forutset at du har $mail = $_POST['mail']; 5687248[/snapback] Det gjør jo ikke det... Kan jo godt ha: $mail = "[email protected]"; if (preg_match("[^[a-z0-9.-_]{1,}@[a-z0-9.-_]{1,}.[a-z]{2,}$]", $mail)){ $sql = "INSERT INTO brukere mail='$mail' WHERE id='$id'" }else{ echo "Epost validerer ikke"; } uten at det vil gjøre at koden ikke funker... Lenke til kommentar
NH Skrevet 2. mars 2006 Rapporter Del Skrevet 2. mars 2006 (endret) i mine øyne ser koden noe feil ut. hvorfor har du [] runt det hele? her skal det brukes et tegn som start/ende av REGXPn dessuten må . escapes. da den har en betydning i regxp spørringe (punktum er en vilkårlig bokstav 1 gang... Du har også glemt å sette den som case-insensitive (default er case-sensitiv preg_match("/^[a-z0-9\.-_]{1,}@[a-z0-9\.-_]{1,}\.[a-z]{2,4}$/i", $_POST['mail']); fjott: manualen kan hjelpe deg med å lære om dette, er faktisk veldig godt forklart, men MYE å lese: preg_match() modifiers(der jeg har 'i' helt på slutten er en modifier, derfor vi bruker \ på begge sider så php vet hva som er regular expression og hva som er modifiers...) Regular Expressions Syntax (Den merkelige sammensetningen av tegn for avasert søk i en streng) Edit: rettet, glemte siste punktum Endret 2. mars 2006 av NH Lenke til kommentar
kakkle Skrevet 2. mars 2006 Rapporter Del Skrevet 2. mars 2006 Også ta escape på det siste punktumet Lenke til kommentar
Arne Skrevet 3. mars 2006 Rapporter Del Skrevet 3. mars 2006 kakkle: Ikkje? Når du skal få info frå eit input-felt, må du vel ha $POST/GET/REQUEST['lol']; for å få informasjonen? Lenke til kommentar
kakkle Skrevet 3. mars 2006 Rapporter Del Skrevet 3. mars 2006 (endret) Det stemmer... Men den koden som Allyse postet, forutsetter ikke at det blir brukt $_POST. Koden funker like godt om det ikke hentes med $_POST. Det må ikke hentes mailadresse fra en form for at koden skal fungere, hvis mener hva jeg forstår... EDIT: Grunnen til at jeg kommenterte innlegget, ditt, var fordi du sa til Allyse, at den koden han postet, forutsatte at han har $mail = $_POST["mail"], og det stemmer ikke... Endret 3. mars 2006 av kakkle Lenke til kommentar
Arne Skrevet 3. mars 2006 Rapporter Del Skrevet 3. mars 2006 Ok. Eg sa det kun fordi trådstarter skulle forstå meir. Takk til alle som har prøvd å forklare til meg. Lenke til kommentar
XmasB Skrevet 3. mars 2006 Rapporter Del Skrevet 3. mars 2006 Noen som vet hvordan jeg kan legge inn en sjekk som følger epost-standarden til punkt og prikke? Har hørt at php inneholder dette, men har ikke klart å finne det. Jeg har sett "standarden" en gang for sjekk, og den var på en god A4-side, så jeg tviler litt på at denne sjekken gjør samme jobben. Men selvfølgelig helt kurant til 99.99% av all sjekk man skal foreta. Vil bare være litt vanskelig Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå