Evaluationssystem: Generierung der Zufalls-IDs

Vie­le Wege füh­ren nach Rom. Ich stel­le einen ein­fa­chen vor (Bul­ku­pload) und einen kom­ple­xe­ren (LDAP). Bei LDAP set­ze ich etwas mehr Kennt­nis­se auf der Kon­so­le voraus.

Bei bei­den Wegen muss man auf jeden Fall die Seri­en­brief­funk­ti­on einer Text­ver­ar­bei­tung beherr­schen, um die IDs dann in indi­vi­dua­li­sier­ter Form an die Umfra­ge­be­tei­lig­ten aus­ge­ben zu kön­nen. Natür­lich wird  auch gleich die Fan­ta­sie­email­adres­se deak­ti­viert (email­stop).

Die eigent­li­che Zufalls­rou­ti­ne sieht so aus:

func­tion getrandstr($length) {
$new­pass = „“;
$laenge=$length;
$string=„abcdefghikmnopqrstuvwxyz23456789“;
mt_srand((double)microtime()*1000000);
for ($i=1; $i <= $laen­ge; $i++) {
$new­pass .= substr($string, mt_rand(0,strlen($string)-1), 1);
}
return $new­pass;
}

Aus dem Zei­chen­vor­rat wur­de alle Zei­chen ent­fernt, die sich ver­wech­seln las­sen, etwa „1“ und „l“ (klei­nes L und die Zahl Eins) oder „0“ und „O“ (Null und Buch­sta­be O), damit es spä­ter nicht zu Tipp­feh­lern kommt.

Ich habe das Script für mich inzwi­schen so wei­ter­ent­wi­ckelt, dass es nicht nur die IDs selbst, son­dern auch noch via fpdf die Brie­fe für die Umfra­ge­be­tei­lig­ten als hüb­sches PDF erstellt – ein Klick, alles zum Drucken/Verteilen fer­tig. Da erfah­rungs­ge­mäß jede Schu­le ihr indi­vi­du­el­les Lay­out wünscht, erscheint mir der Weg über die Seri­en­brief­funk­ti­on für die All­ge­mein­heit der gang­bars­te zu sein.

Wir nut­zen für die Umfra­gen übri­gens ein sepa­ra­tes „Müll­mood­le“, des­sen Daten­bank uns nicht viel bedeu­tet und ger­ne „ver­saut“ wer­den darf. Neben­bei ent­fällt gleich das Risi­ko, dass Drit­te unge­wollt Zugriff auf die Ergeb­nis­se erhal­ten. Das Rech­te­sys­tem von Mood­le wird näm­lich ger­ne ein­mal unüberschaubar…

Wei­ter­le­sen