Mail versturen met wachtwoorden uit PHPmyadmin

Status
Niet open voor verdere reacties.

Robin biziuk

Gebruiker
Lid geworden
1 okt 2010
Berichten
17
hallo,

ik heb een probleem met het versturen van inlogcodes over de mail met mailadressen uit me DB.
Kan iemand een goed werkend php script voor me schrijven die email adressen aanroept en inlogcodes toevoegt aan het bericht die ook in de DB staan als kolom?

de kolommen die aangeroepen moeten worden zijn:
-Email
-Inlogcode

iedereen heeft een andere inlogcode..

daarnaast moet ik ook een berichtje erin kunnen zetten die naar elk mailtje hetzelfde is.

ik hoop dat jullie me willen helpen

groetjes
Robin Biziuk
 
Laatst bewerkt:
Wat heb je zelf al geprobeerd?

Erg ingewikkeld is het probleem niet en er is genoeg over op het internet te vinden :(
 
Meer informatie en wat je zelf al geprobeerd hebt, helpt natuurlijk ook veel ;)
 
Okee.

Nou ik had dus een script om wachtwoorden te genereren voor elke leerling (is een leerlingen DB) daarna zou hij ze doorsturen maar ik kreeg de hele tijd errors in de line van het mailen dus die heb ik maar weg gelaten en nu heeft hij alleen de wachtwoorden gegenereerd en toegevoegt bij inlogcode in de DB.

Het scriptje die ik gebruikte was deze:

PHP:
<?php
    $mysql_host = "localhost";
    $mysql_database = "actiedagvvg";
    $mysql_user = "root";
    $mysql_password = "";
    
    $mysql_connection = mysql_connect($mysql_host,$mysql_user,$mysql_password) 
        or die ("Could not connect with mysql"); 
    mysql_select_db($mysql_database,$mysql_connection) 
        or die ("Could not open the database"); 
 
$result = mysql_query("select ID, email from leerlingen");
$strength = 4;
$length=9;
while ($rij = mysql_fetch_array($result)){
  $vowels = 'aeuy';
    $consonants = 'bdghjmnpqrstvz';
    if ($strength & 1) {
        $consonants .= 'BDGHJLMNPQRSTVWXZ';
    }
    if ($strength & 2) {
        $vowels .= "AEUY";
    }
    if ($strength & 4) {
        $consonants .= '23456789';
    }
    if ($strength & 8) {
        $consonants .= '@#$%';
    }
 
    $password = '';
    $alt = time() % 2;
    for ($i = 0; $i < $length; $i++) {
        if ($alt == 1) {
            $password .= $consonants[(rand() % strlen($consonants))];
            $alt = 0;
        } else {
            $password .= $vowels[(rand() % strlen($vowels))];
            $alt = 1;
        }
    }
    $voegtoe = mysql_query("update leerlingen set inlogcode='".$password."' where ID='".$rij['ID']."'");
    $bericht = "jouw persoonlijke inlog code staat onder aan dit bericht.
                Wil je ook even de petitie schrijven voor de 24 uurs actie op:
                [url]www.pure-desings.nl/csvvg/petitie[/url] "
                .$password;
    mail($email, "inlog code", $bericht, "From: [email]mijnmail@email.com[/email]");

}
?>

Line 48 had een fout..
weet de fout melding zo 1,2,3 niet meer maar het zat hem in het stukje mail.
 
Laatst bewerkt:
Ondersteunt je hosting wel het versturen van mail via PHP?

Dus test dit:
PHP:
mail("jouwmail@adres.nl", "test", "Testbericht");
Uiteraard de eerste parameter wijzigen in je eigen adres
 
Ondersteunt je hosting wel het versturen van mail via PHP?

Dus test dit:
PHP:
mail("jouwmail@adres.nl", "test", "Testbericht");
Uiteraard de eerste parameter wijzigen in je eigen adres

Dat zou ik morgen pas kunnen testen aangezien de server op school staat en systeembeheer het pot dicht heeft gegooit zodat ik er niet van buitenaf bij kan..
 
Ik heb een nieuw probleem!
De inlogcodes had ik laatst al laten genereren en door mailen alleen het blijkt dat er soms 2 keer het zelfde inlogcode is, wat problemen oplevert met het inloggen.
Ik moet dus snel een nieuw script hebben of me ouwe aanpassen om opnieuw wachtwoorden te genereren maar nu zo dat er nooit 2x hetzelfde wordt gegenereerd.
Zou iemand mij daarmee kunnen helpen?

PHP:
<?php
    $mysql_host = "localhost";
    $mysql_database = "actiedagvvg";
    $mysql_user = "root";
    $mysql_password = "";
    
    $mysql_connection = mysql_connect($mysql_host,$mysql_user,$mysql_password) 
        or die ("Could not connect with mysql"); 
    mysql_select_db($mysql_database,$mysql_connection) 
        or die ("Could not open the database"); 
 
$result = mysql_query("select ID, email from leerlingen");
$strength = 4;
$length=9;
while ($rij = mysql_fetch_array($result)){
  $vowels = 'aeuy';
    $consonants = 'bdghjmnpqrstvz';
    if ($strength & 1) {
        $consonants .= 'BDGHJLMNPQRSTVWXZ';
    }
    if ($strength & 2) {
        $vowels .= "AEUY";
    }
    if ($strength & 4) {
        $consonants .= '23456789';
    }
    if ($strength & 8) {
        $consonants .= '@#$%';
    }
 
    $password = '';
    $alt = time() % 2;
    for ($i = 0; $i < $length; $i++) {
        if ($alt == 1) {
            $password .= $consonants[(rand() % strlen($consonants))];
            $alt = 0;
        } else {
            $password .= $vowels[(rand() % strlen($vowels))];
            $alt = 1;
        }
    }
    $voegtoe = mysql_query("update leerlingen set inlogcode='".$password."' where ID='".$rij['ID']."'");

}   
?>
 
nu ik m goed doorlees zie ik dat bij length 9 staat, dit moest 6 zijn.
Kan dit misschien een fout zijn en wanneer ik m aanpas dat hij wel identieke codes maakt?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan