first commit
This commit is contained in:
80
func_id.php
Executable file
80
func_id.php
Executable file
@ -0,0 +1,80 @@
|
||||
<?php
|
||||
#require_once("config.inc.php");
|
||||
|
||||
function uuid($nachname, $vorname, $gebdat, $jahr) {
|
||||
/*
|
||||
$prefix = date("Ymd", time());
|
||||
$pool = "qwertzupasdfghkyxcvbnm";
|
||||
$pool .= "23456789";
|
||||
|
||||
srand ((double)microtime()*1000000);
|
||||
for($index = 0; $index < 5; $index++)
|
||||
{
|
||||
$pass_word .= substr($pool,(rand()%(strlen ($pool))), 1);
|
||||
}
|
||||
|
||||
return $prefix."_".$pass_word;
|
||||
*/
|
||||
|
||||
/*
|
||||
Guten Morgen zusammen,
|
||||
|
||||
wäre es nicht besser, wenn die ID einen Bezug zu dem Testteilnehmer hätte?
|
||||
Ich sehe das jedes Semester bei den Überweisungen der Studierendenbeiträge.
|
||||
Die Eingabe des vorgegebenen Verwendungszwecks ist oft unvollständig, es gibt massenweise Zahlendreher, fehlende Zeichen und oft stimmt der Einzahler nicht mit dem Studentennamen überein. ( zB. weil die Oma überweist)
|
||||
Deshalb mein Vorschlag: die ID besteht aus den ersten 4 Buchstaben des Nachnamens plus den ersten zwei Buchstaben des Vornamens plus dem Geburtsdatum ohne Punkte plus dem Versuch:
|
||||
Bspl. Hans Mustermann , 02.04.1998 => MUSTHA0204199801
|
||||
|
||||
Falls der Nachname weniger als 4 Zeichen hätte, füllt man diesen mit dem letzten Buchstaben bis auf 4 Zeichen auf.
|
||||
|
||||
Das hätte den Vorteil, dass man die ID für Kontrollmechanismen jederzeit neu generieren könnte und eine Fehlersuche vereinfacht. Die Eindeutigkeit der ID sollte gewährleistet sein.
|
||||
|
||||
Viele Grüße
|
||||
Klaus Oberle
|
||||
|
||||
*/
|
||||
$db = dbconnect();
|
||||
|
||||
$nachname = str_replace (array("'", "ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"," "), array("", "ae", "oe", "ue", "ss", "Ae", "Oe", "Ue", "_"), $nachname);
|
||||
$vorname = str_replace (array("'", "ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"," "), array("", "ae", "oe", "ue", "ss", "Ae", "Oe", "Ue", "_"), $vorname);
|
||||
|
||||
$lfd = 1;
|
||||
$lfd_exit = FALSE;
|
||||
|
||||
while (mb_strlen($nachname) <=4){
|
||||
$postfix = mb_substr ($nachname,-1,1);
|
||||
$nachname = $nachname.$postfix;
|
||||
}
|
||||
$nachname = mb_substr (mb_strtoupper($nachname),0,4);
|
||||
$vorname = mb_substr (mb_strtoupper($vorname),0,2);
|
||||
$gebdat = str_replace('.','', $gebdat);
|
||||
|
||||
|
||||
while(!$lfd_exit){
|
||||
|
||||
if($lfd < 10){
|
||||
$lfd_neu = '0'.$lfd;
|
||||
}else{
|
||||
$lfd_neu = $lfd;
|
||||
}
|
||||
$uuid = $nachname.$vorname.$gebdat.$lfd_neu."-".$jahr."_DVM";
|
||||
$query_vorh = $db->query("SELECT count(*) Anz FROM dvm_kandidat WHERE id='$uuid'");
|
||||
$row_vorh = $query_vorh->fetch_array();
|
||||
if($row_vorh['Anz'] == 0){
|
||||
$lfd_exit = TRUE;
|
||||
}else{
|
||||
$lfd++;
|
||||
}
|
||||
}
|
||||
|
||||
return $uuid;
|
||||
}
|
||||
|
||||
/*
|
||||
$nachname = 'Buchholz';
|
||||
$vorname = 'Maik';
|
||||
$gebdat = '18.12.1979';
|
||||
$jahr = "2022";
|
||||
echo uuid($nachname, $vorname, $gebdat, $jahr);
|
||||
*/
|
||||
?>
|
Reference in New Issue
Block a user