[PHP/MySQL] emaillist: hoe eerst checken of adres al bestaat

Pagina: 1
Acties:
  • 126 views sinds 30-01-2008

  • FlowDesign
  • Registratie: Januari 2002
  • Laatst online: 09:15
Okeej, ik ben dus voor het eerst aan het oefenen met PHP en ik heb dit script van phpfreakz.nl gehaald. Het is bestwel een goed script en ik heb 'm ook werkend.

Maar, het stukje op regel 49 if (isSet(......... daar kom ik niet helemaal uit.
Ik zou het fijn vinden als er in de database gekeken zou worden of dit e-mailadres niet al bestaat en dat als het al wél bestaat, dat dat een melding geeft en dat er geen nieuw record weggeschreven wordt in de db.

Wie weet hoe dit moet? :? Ik kom er niet uit.

SCRIPT:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<? 

$database = mysql_connect("localhost", "root", "") or die("Sorry er kon geen verbinding gemaakt worden met de MySQL server."); 
mysql_select_db("emaillist"); 

function check_email($email, $check_dns = false) { 
    if ((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) || (preg_match('/^.+\@(\\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/', $email))) { 
        // dit werkt niet op Windows platforms dus gebruik "". 
        if ($check_dns) { 
            $host = explode('@', $email); 
            // Check for MX record 
            if (checkdnsrr($host[1], 'MX')) { 
                return true; 
            } 
            // Check for A record 
            if( checkdnsrr($host[1], 'A')) { 
                return true; 
            } 
            // Check for CNAME record 
            if( checkdnsrr($host[1], 'CNAME')) { 
                return true; 
            } 
        }else{ 
            return true; 
        } 
    } 
    return false; 
} 

$html = '<form method="post"> 
<table border="0" cellpadding="4" cellspacing="0" bgcolor="#E3E3E3"> 
    <tr> 
        <td colspan="3"><font color="#000000" size="1" face="ms sans serif, geneva"><b>Subscribe to our Newslist</b></font> </td> 
    </tr> 
    <tr> 
        <td> 
            <font color="#000000" size="1" face="ms sans serif, geneva">Name</font><br> 
            <input type="text" size="12" maxlength="100" name="name"> 
        </td> 
        <td> 
            <font color="#000000" size="1" face="ms sans serif, geneva">Email</font><br> 
            <input type="text" size="12" maxlength="100" name="email"> 
        </td> 
        <td><br><input type="submit" name="submit" value="subscribe"></td> 
    </tr> 
</table> 
</form>'; 

if (isSet($remove)) { 
     $sql = "DELETE FROM emaillist WHERE email='$remove'"; 
     if (mysql_query($sql)) { 
         echo "<center>Uw email adres is verwijderd!</center>"; 
     }else{ 
         echo "<center>email adres <strong>$remove</strong> is niet gevonden</center>"; 
     } 
}elseif($_POST['name'] > "" && $_POST['email'] > ""){ 
     $sql = "INSERT INTO `emaillist` (`id`, `naam`, `email`) VALUES ('', '" . $_POST['name'] . "', '" . $_POST['email'] . "');"; 
     if (check_email($_POST['email'], "")) { 
         if (mysql_query($sql)) { 
             echo "<center>Uw email adres is toegevoegd aan de listing</center>"; 
         } 
     }else{ 
         echo "<center>Er is iets fout gegaan, probeer het nogmaals.</center>"; 
     } 
}else{ 
    echo $html; 
} 



?>

[ Voor 18% gewijzigd door FlowDesign op 15-01-2003 15:31 ]

Mustang Mach-E SR RWD | MINI Countryman (F60) Cooper S (Stage 1 tuned)


  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Lijkt me vrij simpel. Maak een sql-statement waarin je een SELECT uitvoert. Als het aantal rijen > 0 is, dan bestaat het email-adres en kan het dus niet nog een keer worden toegevoegd.
Ik neem aan dat je wel enige sql-kennis hebt, anders zou je je daar eerst in moeten verdiepen voordat je zulke scripts gaat gebruiken.

[ Voor 28% gewijzigd door johnny7 op 15-01-2003 15:36 ]


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Wat heb je al geprobeerd? Wat lukte er niet? wat lukte er wel?
Wij gaan hier niet jouw scripts maken..

Verder raad ik je aan wanneer je een vraag hebt over een script van phpfreaks om die vraag daar ook te stellen..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

lijkt me redleijk voor de hand liggend en niet echt een topic waard

Doet iets met Cloud (MS/IBM)


Dit topic is gesloten.