Mailing aanmaken

Status
Niet open voor verdere reacties.

xenium

Gebruiker
Lid geworden
1 jul 2007
Berichten
150
Hey,

Ik heb een website en ik zou een mailing willen opmaken. Daarvoor kunnen de mensen zich aanmelden, maar het mailadres mag niet direct in een tabel gestoken worden. Ik zou de gegevens manueel in een databank (of dergelijke) willen steken (dit is voor verificatie).

Wanneer ik de mailadressen samen met de namen heb in een databank wil ik een mailing gaan opstellen.

De mail moet zo lijken dat ik de mensen persoonlijk aanspreek (dus 'Beste Jos' ofzoiets). Daarnaast zou ik de kleuren en als het kan ook de layout en het logo van mijn website hiervoor willen gebruiken. Zo dat ik een HTML mail krijg. Dit leest altijd beter als een plain text mail.

Hoe moet ik dit allemaal aanpakken? Het eerste gedeelte (mailadresse, eerste paragraaf) moet nog wel lukken.

Alvast bedankt en groetjes
 
SwiftMailer heeft daar allerlei tools voor, ook voor personalisatie van e-mails. Overigens moet je de mailadressen wél gewoon gelijk in de database zetten, maar met een 'activated'-veld op 0, die jij handmatig op 1 kunt zetten.

http://swiftmailer.org/
 
SwiftMailer heeft daar allerlei tools voor, ook voor personalisatie van e-mails. Overigens moet je de mailadressen wél gewoon gelijk in de database zetten, maar met een 'activated'-veld op 0, die jij handmatig op 1 kunt zetten.

http://swiftmailer.org/


OK, dan is vraag hoe laat ik het mailadres direct in een databank zetten, want ik heb eigenlijk geen ervaring met php...
 
Ben je bekend met SQL?

Als je een complete webserver zoals WAMP of USBWebserver geinstalleerd hebt, zit daar meestal standaard namelijk een Database tool (mySQL) bij. Ook de meeste providers leveren er wel iets bij.

Die kun je gebruiken om met behulp van de mysql_ functies data in de database te zetten en eruit te halen.

Je kunt de database bewerken via phpMyAdmin (die zit bij je webserver, als het goed is)

Om te verbinden met een database en er iets in te zetten, volg je de volgende stappen:

gebruik mysql_connect () om te verbinden met je database, geef je gebruikersnaam en wachtwoord mee.
gebruik mysql_query () om een query te versturen met daarin een INSERT commando.

Maar, als je wilt werken met een DB helpt het om je een beetje te verdiepen in SQL. Je kunt er op het web genoeg over vinden.

http://nl2.php.net/manual/en/function.mysql-connect.php
http://nl2.php.net/manual/en/function.mysql-query.php
 
Ben je bekend met SQL?

Als je een complete webserver zoals WAMP of USBWebserver geinstalleerd hebt, zit daar meestal standaard namelijk een Database tool (mySQL) bij. Ook de meeste providers leveren er wel iets bij.

Die kun je gebruiken om met behulp van de mysql_ functies data in de database te zetten en eruit te halen.

Je kunt de database bewerken via phpMyAdmin (die zit bij je webserver, als het goed is)

Om te verbinden met een database en er iets in te zetten, volg je de volgende stappen:

gebruik mysql_connect () om te verbinden met je database, geef je gebruikersnaam en wachtwoord mee.
gebruik mysql_query () om een query te versturen met daarin een INSERT commando.

Maar, als je wilt werken met een DB helpt het om je een beetje te verdiepen in SQL. Je kunt er op het web genoeg over vinden.

http://nl2.php.net/manual/en/function.mysql-connect.php
http://nl2.php.net/manual/en/function.mysql-query.php

Ik ben wel vertrouwd met SQL, maar niet met PHP...

Groetjes
 
Ah, ok :)

In dat geval kun je inderdaad gebruik maken van de ingebouwde functies van PHP.

Er is een heel hoofdstuk over hoe je contact legt met een mysql database ->
http://nl2.php.net/manual/en/book.mysql.php

Er zijn denk ik 4 functies die je sowieso nodig gaat hebben:

// verbind met de server
mysql_connect ( $server_adress, $username, $password );

// selecteer een database
mysql_select_db ( $database_name );

// voer een query uit (geeft een speciale query-resource terug)
$query = mysql_query ( $sql_string )

// vraag 1 resultaat rij op (roep de functie meerdere malen aan om alle resultaten op te halen )
$aRow = mysql_fetch_assoc ( $query )

Over het algemeen zul je bij mysql_connect verbinden met 'localhost', tenzij je database niet draait op je webserver, maar dat komt eigenlijk alleen voor bij hele grote applicaties :)

Je username en password kies je natuurlijk zelf, daar kan ik niet echt mee helpen ;)
Hetzelfde geldt voor de database die je aanmaakt; kies gewoon zelf een naam.

mysql_query() verzend de SQL-string die je meegeeft naar de server ( bijvoorbeeld "INSERT INTO table ( field1, field2 ) VALUES( 'a', 'b' )" ) en voert hem daar uit.
Hierbij moet je er wel op letten dat de syntax van de query goed is, anders krijg je een error!
Let er tevens op dat je goed oplet dat je, voor je iets stuurt, altijd de functie mysql_real_escape_string erop aan roept, anders laat je een security-gat achter omdat andere mensen hun eigen queries kunnen injecten.

De functie geeft een php-resource terug, die je in een variabele moet stoppen. Met behulp van die resource kun je vervolgens de resultaten op gaan vragen.
Daarvoor gebruik je mysql_fetch_assoc ( $query_resource );
Je krijgt dan 1 rij terug (een array met ( 'field_name' => 'value' )

Als je dus bijvoorbeeld de query ( "SELECT veld1, veld2 FROM table WHERE id > 2" ) doet, en je roept mysql_fetch_assoc () erop aan, dan krijg je terug:

array ( 'veld1' => 'waarde1', 'veld2' => 'waarde2' );

Je kunt de functie steeds aanroepen voor de volgende rij, als er geen rijen meer zijn geeft de functie FALSE terug.

Ik hoop dat het genoeg is, als je het nog niet volgt kan ik er nog wel een voorbeeldje bij zetten :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan