Avatar billede garrett Seniormester
11. september 2003 - 15:21 Der er 7 kommentarer og
1 løsning

Validerer en tom streng

Jeg er ved at lave et nyheds/kommentarsystem og det hele virker efterhånden som det skal, men hvis jeg sender en  tom streng til min email-validator returnerer den stadig som TRUE, hvilket den selvfølgelig ikke skal.
Nogen der kan finde fejlen(e) i mit script?
Scriptet virker kun på *nix platforme pga. brugen af getmxrr().

[code]
<?
function checkEmail($string) {
    if($string == "") {
        $string = "lortemail@asdw23ses.spamz9r";
    }else{
    if(ereg("(^[a-zA-Z0-9_\-]+)(@{1})([a-z0-9\-]+\.{1})?([a-z0-9\-]+\.{1}[a-z]{2,3}$)",
$string, $regs) == "0") {
        $status = "FALSE";
    }else{
        $status = "TRUE";
        $host = $regs[3].$regs[4];
    }
    if($status == "TRUE") {
    if(getmxrr($host, $mxhosts) == FALSE && gethostbyname($host) == $host ) {
        $status = "FALSE";
    }else{
        $status = "TRUE";
    return $status;
   
    }
    }
    }
}
$email = "";

$lala = checkEmail($email);
print($lala);
   
?>
[/code]

På forhånd tak
Garrett
Avatar billede garrett Seniormester
11. september 2003 - 15:21 #1
ligger også på http://www.pastebin.com/16515 hvis det har nogen interesse
Avatar billede Slettet bruger
11. september 2003 - 15:24 #2
Kan du ikke bare sætte

if($string == "") {
$status = "FALSE";
}

ind et sted?
Avatar billede garrett Seniormester
11. september 2003 - 15:34 #3
jo jeg kunne da, opret lige et svar så du kan få dine velfortjente point :)
/me grimmer sig
Avatar billede Slettet bruger
11. september 2003 - 16:03 #4
Ellers tak, er holdt med at samle på point, tag dem gerne selv igen :)

Glad for at du "så lyset"
Avatar billede sukos Juniormester
11. september 2003 - 20:27 #5
Vil nu osse lige bruge
if(trim($string) == "") {
$status = FALSE;
}

trim fjerner al "tom luft" i en var.
Avatar billede stringbuffer Nybegynder
11. september 2003 - 21:47 #6
Mener at form input bliver fortolket sådan at et tomt felt giver en uinitialiseret variabel.

Så du burde nok tjekke med:
if (!$string)
  return FALSE;
Avatar billede stringbuffer Nybegynder
11. september 2003 - 21:48 #7
Hov, lagde ikke mærke til at du har fået løst det. Trækker mit svar i mig igen.
Avatar billede stringbuffer Nybegynder
16. september 2003 - 19:55 #8
Nå ok, jamen så siger jeg pænt tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester