wachtwoorden toekennen

Status
Niet open voor verdere reacties.

Robin biziuk

Gebruiker
Lid geworden
1 okt 2010
Berichten
17
Hallo,
Ik onderhoud 2 sites voor school dit jaar.
We hebben dit jaar een actiedag en dan moeten mensen zich registreren op de site.
Er wordt dan gevraagd om een inlogcode.
Ik heb alle voornamen achternamen enz van de leerlingen alleen moet het veld inlogcode nog ingevuld worden.

Mijn probleem is: Hoe kan ik inlogcodes (1 'woord' van letters/cijfers/enz.) genereren door alleen de ID's aan te roepen van m'n sql?
Daarna moet ik de inlogcodes rond mailen aan alle leerlingen.

Zou iemand me kunnen helpen met het schrijven hiervan of tips hiervoor?

alvast bedankt,
Robin Biziuk
 
hallo,
Mijn probleem is: Hoe kan ik inlogcodes (1 'woord' van letters/cijfers/enz.) genereren door alleen de ID's aan te roepen van m'n sql?
wat bedoel je precies met genereren?

Ecross
 
Met genereren bedoel ik dat er automatisch inlogcodes worden toegekend.
Niet dat ik 1030 verschillende codes moet typen of 1x dezelfde code voor iedereen.
 
ik bedoel: waar bestaat de inlog code uit? is het de id? de achternaam+voornaam? of gewoon een random nummer

srry als ik je vraag niet goed begrijp
 
Alle leerlingen opvragen
[sql]
SELECT
*
FROM leerlingen
[/sql]

Een wachtwoord generator is zo te bouwen, daar staan ook genoeg scripts voor op internet.

Vervolgens een UPDATE-query uitvoeren zodat je het wachtwoordveld aanpast door een gegenereert wachtwoord
 
to Ecross

oh zo,
Nou gewoon een random nummer of letters.
Want heb standaard de velden:
ID naam tussenvoegsel achternaam email klas inlogcode

Alleen inlogcode moet nog ingevuld worden.
 
ik vond dit stukje code op webtoolkit.info:

PHP:
$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;
		}
	}

je kunt er zoiets omheen bouwen:
PHP:
$result = mysql_query("select ID, email from leerlingen");
$strength = 4;
$length=9;
while ($rij = mysql_fetch_array($result)){
	// hier de password generator code
	$voegtoe = mysql_query("update leerlingen set inlogcode='".$password."' where ID='".$rij['ID']."'");
	$bericht = "jouw persoonlijke inlog code is: ".$password;
	mail($email, "inlog code", $bericht, "From: inlogcode@school.nl");
}

mvg Ecross
 
Laatst bewerkt:
Alle leerlingen opvragen
PHP:
SELECT
  *
FROM leerlingen

Een wachtwoord generator is zo te bouwen, daar staan ook genoeg scripts voor op internet.

Vervolgens een UPDATE-query uitvoeren zodat je het wachtwoordveld aanpast door een gegenereert wachtwoord

het opvragen word dus:

[sql]
SELECT id
FROM leerlingen
[/sql]

hoe moet ik dat neerzetten in een php :o ben nogal een beginner hiermee maar vind het geweldig leuk om mee te werken..

[sql]<?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");
[/sql]
dit sowieso maar ook dat 2e gedeelte wat er bij staat?

heb zelf dit stukje gekregen van iemand:

[sql]
while($row = mysql_fetch_assoc($result)
{
$code = //Genereer hier een code
if(mysql_query('UPDATE VALUES(\'code\') SET($code) WHERE `id` = \''.$row['id'].'\';')
{ // Do Nothing }
else
{ die("query failed: ".mysql_error()); }
[/sql]
 
Laatst bewerkt:
PHP:
$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 is: ".$password;
    mail($email, "inlog code", $bericht, "From: mijnemail@csvvg.eu");
}

zo wordt het dan of mag je het niet aan elkaar plakken?

ik ben even eten dus antwoord later.

dankjewel alvast
 
Laatst bewerkt door een moderator:
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 is: ".$password;
    mail($email, "inlog code", $bericht, "From: mijnemail@csvvg.eu");
?>
wordt het dan zo iets?
Of ben ik nu erg hopeloos bezig :o
 
Laatst bewerkt:
ja klopt

precies, je been alleen de laatste accolade } aan het einde vergeten (wel voor de ?>)

Ik hoop dat het werkt
Ecross
UPDATE
ik heb een foutje gemaakt, je moet de regel met mail(...) vervangen door dit:

PHP:
 mail($rij['email'], "inlog code", $bericht, "From: mijnemail@csvvg.eu");
 
Laatst bewerkt:
okee vandaar dat hij aangaf dat er een fout zat in het stukje mail ;p
denk dat het opgelost is in principe :D
thanx iedereen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan