anpera.net
https://anpera.dyndns.org/phpbb3/

Zahlen aus der Datenbank splitten und mit Arrays...
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3729
Seite 1 von 1

Autor:  Taikun14 [ Mi 20 Jun, 2007 22:07 ]
Betreff des Beitrags:  Zahlen aus der Datenbank splitten und mit Arrays...

Hi,
also ich habe mir überlegt, selber eine Altersverifizierung zu schreiben um die Personalausweisnummer anzugeben. Ich wollte es folgendermaßen machen: Die Nummer in die Datenbank speichern und im nächsten Schritt mit Arrays auseinandernehmen, sodass ich sie dann mit 7/3/1 multiplizieren kann. Da ich dann bemerkt habe, dass man in Arrays nicht multiplizieren kann, habe ich es mit der Addition versucht, das klappt zuerst, aber beim gesamten Errechnen, bekomme ich wieder die Fehlermeldung:
Fatal error: Unsupported operand types

Ich schreibe mal das Codestück hierhin. Vielleicht kann mir ja jemand helfen oder auch bedauerlicherweise sagen, dass ich die ganze Zeit was Versuche, was niemals klappen wird.
( Es geht auch nicht ohne die Arraydinger vor dem str_split. Dann rechnet er glaub' ich immer was Falsches aus : ( )

[php]
case "weiterpruf";

$sqll = "SELECT * FROM prufen WHERE id='$_GET[id]'";

$resultl = db_query($sqll);

$rowl = db_fetch_assoc($resultl);

$num1 = $rowl['nummer1'];
$num2 = $rowl['nummer2'];
$num3 = $rowl['nummer3'];
$num4 = $rowl['nummer4'];

if (!function_exists('str_split')) {
function str_split($str) {
$arr = array();
if (is_string($str)) {
for ($i = 0; $i < strlen($str); $i++) {
array_push($arr, $str[$i]);
}
}
return $arr;
}
}


$array1 = str_split($num1);
$array2 = str_split($num2);
$array3 = str_split($num3);


$erg1 = $array1[0] + $array1[0] + $array1[0] + $array1[0] + $array1[0] + $array1[0] + $array1[0];
$erg2 = $array1[1] + $array1[1] + $array1[1];
$erg3 = $array1[2];
$erg4 = $array1[3] + $array1[3] + $array1[3] + $array1[3] + $array1[3] + $array1[3] + $array1[3];
$erg5 = $array1[4] + $array1[4] + $array1[4];
$erg6 = $array1[5];
$erg7 = $array1[6] + $array1[6] + $array1[6] + $array1[6] + $array1[6] + $array1[6] + $array1[6];
$erg8 = $array1[7] + $array1[7] + $array1[7];
$erg9 = $array1[8];

$ergl = $erg1 + $erg2 + $erg3 + $erg4 + $erg5 + $erg6 + $erg7 + $erg8 + $erg9;

$ergg1 = $array2[0] + $array2[0] + $array2[0] + $array2[0] + $array2[0] + $array2[0] + $array2[0];
$ergg2 = $array2[1] + $array2[1] + $array2[1];
$ergg3 = $array2[2];
$ergg4 = $array2[3] + $array2[3] + $array2[3] + $array2[3] + $array2[3] + $array2[3] + $array2[3];
$ergg5 = $array2[4] + $array2[4] + $array2[4];
$ergg6 = $array2[5];
$erggl = $ergg1 + $ergg2 + $ergg3 + $ergg4 + $ergg5 + $ergg6;

$erggg1 = $array3[0] + $array3[0] + $array3[0] + $array3[0] + $array3[0] + $array3[0] + $array3[0];
$erggg2 = $array3[1] + $array3[1] + $array3[1];
$erggg3 = $array3[2];
$erggg4 = $array3[3] + $array3[3] + $array3[3] + $array3[3] + $array3[3] + $array3[3] + $array3[3];
$erggg5 = $array3[4] + $array3[4] + $array3[4];
$erggg6 = $array3[5];
$ergggl = $erggg1 + $erggg2 + $erggg3 + $erggg4 + $erggg5 + $erggg6;

$ergges = $ergggl + $erggl + $ergl;



if (strlen($ergges)==3){
$array4 = str_split($ergges);
}
else if (strlen($ergges)==2){
$array4 = str_split($ergges);
}


if ($array4[2] == $num4 || $array4[1] == $num4 ){
output("Prüfsumme stimmt überein. ".$array4[2]."");
addnav("Weiter","frdnhaus.php");
} else {
output("Prüfsumme stimmt nicht. ".$array4[2]."");
addnav("Zurück","frdnhaus.php");
}

break;
[/php]

Autor:  Eliwood [ Mi 20 Jun, 2007 22:38 ]
Betreff des Beitrags: 

Vergiss die Ausweisnummerkontrolle!
Sie ist erstens auf Deutschland begrenzt und zweitens kann man sie, wenn man den Mechanismus kennt, ganz einfach austricksen.
Ein weitaus besserer Mechanismus ist das einsenden des Ausweises. Also ne Kopie oder n' Scan. So muss man wenigstens an einen gültigen Ausweis rankommen.

Autor:  Rikkarda [ Mi 20 Jun, 2007 22:40 ]
Betreff des Beitrags: 

Eliwood hat geschrieben:
Vergiss die Ausweisnummerkontrolle!
Sie ist erstens auf Deutschland begrenzt und zweitens kann man sie, wenn man den Mechanismus kennt, ganz einfach austricksen.
Ein weitaus besserer Mechanismus ist das einsenden des Ausweises. Also ne Kopie oder n' Scan. So muss man wenigstens an einen gültigen Ausweis rankommen.



stimm ich Eli zu, denn auf Wikipedia ist sogar ERKLÄRT, wie dieses System funktioniert *anmerk* und es wird extra darauf hingewiesen, dass diese Testung KEINE Rechtliche Grundlage bildet, weil mal ehrlich, meinst Du ich versteck meinen Perso vor meiner Tochter? ;)


lg

Autor:  Taikun14 [ Mi 20 Jun, 2007 22:47 ]
Betreff des Beitrags: 

Klar, ist das mit dem Senden 'ne bessere Alternative. Aber ich hab' jetzt einige Ausweisnummern von 'nem Generator geprüft und ich kam jedesmal auf das selbe Ergebnis wie das Script und die die Prüfnummern waren nicht identisch mit der Letzten. ( Letzte Zahl halt )

Dann ist das auch 'nen Grund warum ich es in der DB speicher', umso die Geburtsdaten lesen zu können. Ich denke mal, für Leute die aus dem Ausland kommen, wäre es dann am besten, die Ausweise einzuschicken, aber aus Deutschland.. ich glaube noch an diese Methode ;)

Aber meine Frage war ja, ob ich das so machen kann, wie ich es gepostet habe oder nicht :)

Autor:  Nightborn [ Mi 20 Jun, 2007 22:52 ]
Betreff des Beitrags: 

$this->bbcode_second_pass_code('', '$ergg1 = $array2[0] + $array2[0] + $array2[0] + $array2[0] + $array2[0] + $array2[0] + $array2[0];
')

<--- hier kann man einige Male das Distributivgesetz anwenden...heraus kommt wohl

$this->bbcode_second_pass_code('', '$ergg1 = 7*$array2[0];
')

was genau Du meinst "man kann mit arrays nicht multiplizieren" weiß ich nicht.

Wenn Du da einen String drinhast, geht das nicht, wenn Du auf nimmer sicher gehen willst, case mit (int) oder so.


$this->bbcode_second_pass_code('', '$ergg1 = 7*((int)$array2[0]);
')
wenn da ein string drinsteht kommt eine 0 raus.

@ausweise
du bist <18, warum willst du ne ausweiskontrolle machen?
wenn du etwas tun willst, was eine ausweiskontrolle legitim machen soll, würde ich sowieso davon abraten.

Autor:  Taikun14 [ Mi 20 Jun, 2007 22:56 ]
Betreff des Beitrags: 

Ich will sie einfach in ins Freudenhaus machen, da dort auch einige _sehr_ junge Spieler schon CS hatten. Ich meine, ich progge ja eh nur und es beschränkt sich ja nur auf diesen Bereich. Aber danke für deinen Tipp, ich probiere es mal aus.

[EDIT]

THX an Nightborn, hat geklappt. Kann geclosed werden ;)

Autor:  Harthas [ Do 21 Jun, 2007 07:16 ]
Betreff des Beitrags: 

Naja, ich gebe auch noch kurz meinen Senf dazu... *g*

Was meinst du, werden diese Spieler dann kurzerhand machen? Sich eben den Ausweis der Eltern, oder bereits 18-Jähriger Freunden schnappen. Und schwipps... Umgangen.

Und wie auch Eliwood schon gesagt hat, kommt man dann wohl bereits als Schweizer oder Österreicher nicht mehr weiter...

Aber... Wie immer deine Entscheidung.

Autor:  Bill Tür [ Do 21 Jun, 2007 08:01 ]
Betreff des Beitrags: 

Weil mir grad langweilig ist und das thema doch recht amüsant... ;)

Ich hab mir vor 7 oder 8 jahren meinen ersten perso-nr-generator ausm netz gezogen und damals hab ich nur 10 mins gebraucht um einen zu finden. also dürfte das inzw in 1-2 mins gehen.

von daher würde ich dann doch eine sinnvollere methode ins auge fassen.

Autor:  Taikun14 [ Do 21 Jun, 2007 12:27 ]
Betreff des Beitrags: 

Wie gesagt, solang' ich das Ding drin hab', kann ich auch kein Ärger bekommen, wenn da irgendwelche Leute meinen, falsche Angabe machen zu müssen. Es geht mir halt auch drum, dass ich nicht irgendwie dafür haften muss, dass da 30-Jährige mit 13-Jährigen CS haben, oder? : )

Autor:  Harthas [ Do 21 Jun, 2007 12:30 ]
Betreff des Beitrags: 

Najaaaaaa...
Bin mir nicht wirklich sicher, ob das so auch genügt. *schulterzuck*
Wirklicb abgeklärt ist es damit ja noch nicht.

Solltest du dich wohl noch etwas besser informieren.

Autor:  Nightborn [ Do 21 Jun, 2007 12:45 ]
Betreff des Beitrags: 

:)

wenn du in die Regeln schreibst, daß das ein SAUBERER Server sein soll... kein Problem.

Dann ist so ein CS ein Regelbruch und schon bist Du raus, Du mußt halt dann aktiv werden wenn Du das mitbekommst.

Nur ich hab implizit drauf abgezielt, daß Du meinen könntest "Ich will CS ausdrücklich erlauben, aber nur unter Volljährigen". Und das ist rechtlich problematisch wegen Verifikation.

Autor:  Pater Nix Nutzius [ Fr 14 Sep, 2007 18:46 ]
Betreff des Beitrags: 

hmm wenn ich mir das so durchlese bin ich echt nun etwas irritiert...

Ich dachte bisher das würde einem schon helfen..Naja okay dann habe ich da schon wieder etwas gelernt...

jedoch wurde einer meiner Mit admins schon öfters drauf angesprochen, ob man eine Altersverifizierung nicht machen kann ..wo man einfach nur in der Bio stehen hat ob ein User volljährig ist oder nicht..aber da dieses System eh auf Grenzen schlägt.. ist es wohl sinnlos... Also ist wohl doch die effiktivste Methode...


Wachhunde raus und auf jeden jagen der Cs im Server macht ( zumindestens an den Orten wo es jeder lesen kann)

Autor:  Dwyn [ Fr 14 Sep, 2007 19:14 ]
Betreff des Beitrags: 

Also ich kann da nur mit aus erfahrung sprechen, als ich dieses Funktion mal ausgenutzt hatte (nicht logd) war vor drei Jahre, da habe ich eine Diche anzeige bekommen + verurteilung, darauf gehe ich abe rmal nicht weiter ein, also ich sage mal so. 1. wenn die Personumem rin der DB gespeichert wird, dann werde die meißten so oder so keine Angabe machen. Andernfalls ist dies natürlich für den Admin ur all zu Nützlich wenn die Perso Numemr gespeichert wird, für Rechtliche Hinweise an die Polizei bei erbreitung Rassistischer pronografische rund haste nicht gesehen - Inhalte. Denn Theoretischer Weise bist du für Jeden mist Haftbar der auf deinem Server geschieht, denn in der FAQ steht " Alle Accounts gehören den Serverbetreiber " nun darum geht es abe rgerade nicht, abe rich kann dir einen Tiop geben, Schau dir das Verifi dingens von Edah an da wird dir sicherlich weite rgeholfen.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/