/ 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
Valider, hvis der står noget?
Fra : Martin Ploug


Dato : 29-11-05 21:58

Hej

Jeg har et indtasningsfelt til e-mail adresse,
som ikke SKAL udfyldes. Men kan man lave
det sådan at hvis det ER udfyldt, så bliver det valideret
og ikke mindst så bliver indholdet af formularen ikke
sendt afsted, før e-mail syntaksen er korrekt?

Eller er det enten eller?

If else unless but only if


Jeg har nedenstående indtil videre, men der bliver
indholdet af formularen sendt afsted uanset, hvad der står
i E-mail feltet - vel fordi feltet ikke SKAL være udfyldt eller
hvad?

if($_POST[email] != "") {

if(!eregi( "^" .
"[a-z0-9]+([_\\.-][a-z0-9]+)*" . //user
"@" .
"([a-z0-9]+([\.-][a-z0-9]+)*)+" . //domain
"\\.[a-z]{2,}" . //sld, tld
"$", $email, $regs)) {
echo $email,"<span class='alm'>Fejl:<br>E-mail syntaksen er
ugyldig.</span><br><br>";
}



----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 16 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk



 
 
Zilla (29-11-2005)
Kommentar
Fra : Zilla


Dato : 29-11-05 22:35

Du kan f.eks. gøre følgende:

$send_videre = "ja"; //Som udgangspunkt skal info sendes videre
if($_POST[email] != "") {

if(!eregi( "^" .
"[a-z0-9]+([_\\.-][a-z0-9]+)*" . //user
"@" .
"([a-z0-9]+([\.-][a-z0-9]+)*)+" . //domain
"\\.[a-z]{2,}" . //sld, tld
"$", $email, $regs)) {
echo $email,"<span class='alm'>Fejl:<br>E-mail syntaksen er
ugyldig.</span><br><br>";
$send_videre = "nej"; //Info skal ikke sendes videre
} else {
$send_videre = "ja"; //Info sendes videre
}
}

if($send_videre == "ja") {
//Kode til at sende info videre
} else {
//Kode hvis info ikke skal sendes videre. Måske formularen skal vises
igen...?
}

Zilla

Martin Ploug (29-11-2005)
Kommentar
Fra : Martin Ploug


Dato : 29-11-05 22:50

> Jeg har nedenstående indtil videre, men der bliver
> indholdet af formularen sendt afsted uanset, hvad der står
> i E-mail feltet - vel fordi feltet ikke SKAL være udfyldt eller
> hvad?
>
> if($_POST[email] != "") {
>
> if(!eregi( "^" .
> "[a-z0-9]+([_\\.-][a-z0-9]+)*" . //user
> "@" .
> "([a-z0-9]+([\.-][a-z0-9]+)*)+" . //domain
> "\\.[a-z]{2,}" . //sld, tld
> "$", $email, $regs)) {
> echo $email,"<span class='alm'>Fejl:<br>E-mail syntaksen er
> ugyldig.</span><br><br>";
> }


Måske har jeg fået en del af det til at virke.
Jeg har fjerne klammen efter "$", $email, $regs)) {
og til sidst - der kommer en } else { bagefter.

Men jeg har lavet det sådan at felterne bliver ryddet
ved submit, hvis alt går godt på følgende måde:

if($_POST[navn] != "" && $_POST[besked] != "") {

$_SESSION["navn"] = NULL;
$_SESSION["email"] = NULL;
$_SESSION["hjemmeside"] = NULL;
$_SESSION["besked"] = NULL;

men nu kunne jeg så godt tænke mig, at felterne ikke bliver ryddet,
med mindre at E.amil feltet er udfyldt korrekt.
Altså felterne skal ryddes, hvis Navn og Besked er udfyldte og hvis E-mail
felter
er udfyldt, skal det være udfyldt med den korrekte syntaks.

Kan det lade sig gøre, og er det en længere smøre, der skal til?

Som det er nu bliver der jo bare tjekket for, om der står noget i Navn og
Besked.

Tak.

Hilsen Martin


----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 17 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste