Avatar billede ferrari_brian Nybegynder
04. maj 2003 - 14:21 Der er 8 kommentarer og
1 løsning

Email validering i form

Hej Alle...

Jeg er ved at lave en mailingliste i PHP, men jeg har brug for at validere om det er en korrekt email-adresse der står i formen, når der bliver trykket på submit.

herunder ses den kode jeg bruger til tilføj-formen:

      <?
      // Viser tilføj-formen;
      $filliste = "emails.txt";
      if (isset($email)) {
        tilfojbruger($email);
      }
      function vistilfojbrugerform() {
        echo "<p class='utext'>Tilmeld til mailingliste:";
        echo "<form name=tilfojbruger action=index.php method=post onsubmit='verifyemail_validateemail()'>";
        echo "<input type=text name=email size='12'>";
        echo "<input type=submit name=submit value=Tilføj>";
        echo "</form>";
      }
     


      // Tilføjer Emails til liste;
      function tilfojbruger($email) {
        $fp = fopen($GLOBALS["filliste"], "a");
        $emailsize = strlen($email . "\n");
        $fw = fwrite($fp, $email . "\n", $emailsize);
        if ($fw)
            echo "<h2><div align=center>Du er nu tilmeldts mailinglisten</div></h2>";
            echo "<meta http-equiv='Refresh' content='1; URL=index.php'>";
            exit;
      }

      vistilfojbrugerform();
      ?>
Avatar billede schaefner Juniormester
04. maj 2003 - 14:24 #1
if (preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $email)) {
Avatar billede ferrari_brian Nybegynder
04. maj 2003 - 14:25 #2
hvor mener du så det skal sættes ind?
Avatar billede schaefner Juniormester
04. maj 2003 - 14:26 #3
Noget alla det her:

if (preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $email)) {
  tilfojbruger($email);
}
Avatar billede ferrari_brian Nybegynder
04. maj 2003 - 14:31 #4
hov jeg kom lige til at se at der er sneget sig noget onsubmit ind det er noget jeg har prøvet som jeg ikke kunne få til at virke...

<?
      // Viser tilføj-formen;
      $filliste = "emails.txt";
      if (isset($email)) {
        tilfojbruger($email);
      }
      function vistilfojbrugerform() {
        echo "<p class='utext'>Tilmeld til mailingliste:";
        echo "<form name=tilfojbruger action=index.php method=post>";
        echo "<input type=text name=email size='12'>";
        echo "<input type=submit name=submit value=Tilføj>";
        echo "</form>";
      }
     


      // Tilføjer Emails til liste;
      function tilfojbruger($email) {
        $fp = fopen($GLOBALS["filliste"], "a");
        $emailsize = strlen($email . "\n");
        $fw = fwrite($fp, $email . "\n", $emailsize);
        if ($fw)
            echo "<h2><div align=center>Du er nu tilmeldts mailinglisten</div></h2>";
            echo "<meta http-equiv='Refresh' content='1; URL=index.php'>";
            exit;
      }

      vistilfojbrugerform();
      ?>
Avatar billede schaefner Juniormester
04. maj 2003 - 14:34 #5
<?php
      // Viser tilføj-formen;
      $filliste = "emails.txt";
      if (preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $email)) {
        tilfojbruger($email);
      } else {
        echo "Email'en er ikke korrekt";
      }
      function vistilfojbrugerform() {
        echo "<p class='utext'>Tilmeld til mailingliste:";
        echo "<form name=tilfojbruger action=index.php method=post>";
        echo "<input type=text name=email size='12'>";
        echo "<input type=submit name=submit value=Tilføj>";
        echo "</form>";
      }
     


      // Tilføjer Emails til liste;
      function tilfojbruger($email) {
        $fp = fopen($GLOBALS["filliste"], "a");
        $emailsize = strlen($email . "\n");
        $fw = fwrite($fp, $email . "\n", $emailsize);
        if ($fw)
            echo "<h2><div align=center>Du er nu tilmeldts mailinglisten</div></h2>";
            echo "<meta http-equiv='Refresh' content='1; URL=index.php'>";
            exit;
      }

      vistilfojbrugerform();
      ?>
Avatar billede ferrari_brian Nybegynder
04. maj 2003 - 14:38 #6
Jeg takker... det virker nu...
Avatar billede schaefner Juniormester
04. maj 2003 - 14:38 #7
Var så lidt :)

/Jesper Sørensen
Avatar billede ferrari_brian Nybegynder
04. maj 2003 - 15:38 #8
Okay... jeg kom lige til at se at den validerer selvom man ikke har skrevet noget... altså den validerer når man indlæser index.php og så står der "Email'en er ikke korrekt"
Avatar billede schaefner Juniormester
04. maj 2003 - 15:40 #9
Så gør du bare sådan:

if(isset($submit)) {
  if (preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $email)) {
    tilfojbruger($email);
  } else {
    echo "Email'en er ikke korrekt";
  }
}
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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