email uit txt in DB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick

Patrick

28/06/2009 15:36:00
Quote Anchor link
Ik dacht dat ik er was, maar het gaat mis!

Ik mijn emailadressen uit bestand.txt in de database plaatsen.
Nu heb ik onderstaand script gemaakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

include("config.php");

// Mail Checker
function checkmail($mail)  
{
  
    $email_host = explode("@", $mail);  
    $email_host = $email_host['1'];  
    $email_resolved = gethostbyname($email_host);  
    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))  
       $valid = 1;
    return $valid;  
}
  

foreach( file( 'bestand.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES ) as $line )
{

  
$split = explode(";",$line);
$split2 = str_replace(' ','', $split);

foreach($split2 AS $email){
    
    if(checkmail($email) == 0)    {
        
        $emailfout .= $email;
        
    }

    
    else    {
        
        $emailgoed .= $email;
        
    }

    
    


//query


        $query = "INSERT INTO email (emailadres) VALUES ('$emailgoed')";
    //echo $query;
    
    
    mysql_query($query) or die(mysql_error());

  sleep(2);

}
}

?>


Alleen wat gebeurt er nu.. hij zet alle emailadressen achter elkaar en gooit ze de database in.
Dus ik krijg honderden rijen met in elke rij alle emailadressen.
Dit is niet de bedoeling.

De emailadressen moeten uit elkaar getrokken worden en dus een voor een in een rij in de database komen staan.

Ik snap niet hoe ik dat moet doen, met welke functie..
Iemand die me de goede richting in kan sturen?
 
PHP hulp

PHP hulp

22/12/2024 23:47:54
 
Jan geen

Jan geen

28/06/2009 16:00:00
Quote Anchor link
Kijk is goed naar wat str_replace teruggeeft. Dat is een String en geen array. Je wil de str_replace bewerking binnen de foreach loop hebben. dus

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
foreach($split as $email) {
    $email = str_replace(" ", "", $email);
    //INSERT INTO db
}
?>


edit:
Je maakt nog een tweede fout, wanneer een email goed is voeg je hem toe aan $emailgoed en deze gebruik je als input in je query. $emailgoed wordt dus een hele lange string met alle email adressen.
Gewijzigd op 01/01/1970 01:00:00 door Jan geen
 
Patrick

Patrick

28/06/2009 16:21:00
Quote Anchor link
Klopt, wat stom! haha

hartelijk bedankt, dat had ik dus niet gezien, het werkt nu!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.