Avatar billede alexanderf Nybegynder
11. april 2009 - 17:53 Der er 3 kommentarer og
1 løsning

Nyhedbrevs tilmelding

Hej,
Jeg er igang med et lille script, så man kan tilmelde sig nyhedsbrev. Så tænkte jeg på, hvordan mit script kunne tjekke, om man har husket et "@" i sin email?

min kode ser sådan her ud ind til videre:

<?
include "config.php";

if ($_SERVER ['REQUEST_METHOD'] == 'POST' && $_POST ['mail'])
{
    $email  = $_POST ['mail'];

$tjek_bruger = mysql_query("SELECT * FROM nyhedsbrev WHERE email LIKE '$email'") or die(mysql_error());
if(mysql_num_rows($tjek_bruger) != "0") {
} else {

$dato = date("d/m/Y H:i:s");
$ip = $_SERVER[REMOTE_ADDR];

mysql_query("INSERT INTO nyhedsbrev VALUES ('$id', '$email', '$dato', '$ip')") or die(mysql_error());

}
}
?>
<html>
<head>
<title>Tilmeld dig nyhedsbrevet her</title>
</head>

<form method="POST" action="signup.php">
<p>Email: <input type="text" name="mail" size="20" value="Email">
<br>
<input type="submit" value="Tilmeld" name="B1"></p>
</form>

</html>
Avatar billede CCodam Nybegynder
11. april 2009 - 18:00 #1
Du kan benytte dig af dette script:
http://www.finalwebsites.com/snippets.php?id=27

Du må skrive hvis du har brug for hjælp, til at inkorporere det :)
Avatar billede alexanderf Nybegynder
11. april 2009 - 18:01 #2
CCodam,
Tak for det! Men ja, tror allerede jeg er løbet lidt i problemer. Hvis du kunne hjælpe ville det være fint! :-) hehe
Avatar billede CCodam Nybegynder
11. april 2009 - 18:19 #3
Jeg har ikke lige noget at teste det på, men jeg får det til at se sådan her ud:


<?
include "config.php";

if ($_SERVER ['REQUEST_METHOD'] == 'POST' && $_POST ['mail'])
{
    $email  = $_POST ['mail'];

    $pattern = "/^[\w-]+(\.[\w-]+)*@";
    $pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
    if (preg_match($pattern, $email)) {
        $parts = explode("@", $email);
        if (checkdnsrr($parts[1], "MX")){
           
          $tjek_bruger = mysql_query("SELECT * FROM nyhedsbrev WHERE email LIKE '$email'") or die(mysql_error());
          if(mysql_num_rows($tjek_bruger) != "0") {
          } else {

          $dato = date("d/m/Y H:i:s");
          $ip = $_SERVER[REMOTE_ADDR];

          mysql_query("INSERT INTO nyhedsbrev VALUES ('$id', '$email', '$dato', '$ip')") or die(mysql_error());
          }

        } else {
            echo "The e-mail host is not valid.";
            // return false;
        }
    } else {
        echo "The e-mail address contains invalid charcters.";
        // return false;
    }

}
?>
<html>
<head>
<title>Tilmeld dig nyhedsbrevet her</title>
</head>

<form method="POST" action="signup.php">
<p>Email: <input type="text" name="mail" size="20" value="Email">
<br>
<input type="submit" value="Tilmeld" name="B1"></p>
</form>

</html>
Avatar billede alexanderf Nybegynder
11. april 2009 - 18:23 #4
Ser ud til at virke ;) 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
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