/**
* EINGABEN AUS EINEM FORMULAR, AN DEN RAENDERN BESCHNITTEN.
*
* Ralph 17.10.2026: *"Die Namen oder Eintraege aus den Feldern sollten gleich
* getrimmt werden, bevor sie in die Datenbank geschrieben werden."* Anlass war
* ein Kundensatz, dessen `nachname` mit einem Leerzeichen endete - sichtbar
* wurde das erst auf der Freischaltseite als "Vielen Dank, Herr Lieske !".
*
* ⚠ EIN LEERZEICHEN AM RAND IST NIE GEMEINT, ABER ES WIRKT UEBERALL. Es steht
* auf dem Lieferschein, es verhindert den Treffer bei der Dublettensuche
* ("Lieske " ist nicht "Lieske"), und es wandert ueber die Warenwirtschaft bis
* auf die Rechnung. Beschnitten wird deshalb beim SCHREIBEN, nicht beim
* Anzeigen - sonst steht der Fehler weiter im Bestand und jede neue
* Auswertung faellt wieder darauf herein.
*
* ⚠ PASSWOERTER BLEIBEN UNANGETASTET. Dort ist ein Leerzeichen am Rand ein
* Zeichen wie jedes andere; wer es beschneidet, sperrt den Kunden aus seinem
* eigenen Konto aus - und zwar erst beim naechsten Anmelden, lange nach der
* Aenderung.
*
* ⚠ Beschnitten wird auch NICHT-SICHTBARER Leerraum: ein weiches Trennzeichen
* oder ein geschuetztes Leerzeichen (U+00A0) kommt beim Einfuegen aus Word
* oder einer Webseite mit und sieht im Feld aus wie nichts.
*
* Verschachtelte Felder werden mitgenommen; alles, was kein Text ist (Zahlen,
* Kaestchen), bleibt wie es ist.
*
* @param array $daten das abgeschickte Feld, etwa $_POST['anmeldung']
* @param array $roh Schluessel, die unveraendert bleiben (Passwoerter)
*/
function eingabe_getrimmt( $daten, $roh = array( 'pass1', 'pass2', 'passwort', 'password', 'pwd' ) ) {
if ( !is_array( $daten ) ) return $daten;
foreach ( $daten as $schluessel => $wert ) {
if ( is_array( $wert ) ) {
$daten[$schluessel] = eingabe_getrimmt( $wert, $roh );
continue;
}
if ( !is_string( $wert ) || in_array( $schluessel, $roh, true ) ) continue;
// \x{00A0} geschuetztes Leerzeichen, \x{200B} Breitenloses, \x{FEFF} BOM
$beschnitten = preg_replace( '@^[\s\x{00A0}\x{200B}\x{FEFF}]+|[\s\x{00A0}\x{200B}\x{FEFF}]+$@u', '', $wert );
// preg_replace gibt bei ungueltigem UTF-8 null zurueck - dann lieber den
// urspruenglichen Wert als gar keinen.
$daten[$schluessel] = $beschnitten === null ? trim( $wert ) : $beschnitten;
}
return $daten;
}
Further information for Schmersal 101166285 Safety Interlock AZM 161SK-12/12RKA-024
The AZM 161SK-12/12RKA-024 safety interlock is an electromechanical device designed for demanding industrial safety applications. Built with a robust glass-fiber-reinforced thermoplastic housing, it meets high standards for durability and protection. With a holding force of up to 2,600 N and a compact design, it is ideal for use in sliding, removable, or rotating safety guards.
The device features 4 safety contacts and 2 auxiliary contacts, providing high flexibility and versatile usability. It has a low coding level according to EN ISO 14119, making it easy to integrate into existing systems. The AZM 161SK operates on the working current principle and offers a manual auxiliary release for maintenance or setup, which can be used with an M5 triangular key (available as an accessory).
With an IP67 protection rating, a mechanical lifespan of at least 1,000,000 operating cycles, and a service life of 20 years, this interlock ensures reliable protection in demanding environments. It is certified by IFA, cULus, and CCC, and complies with international safety standards such as EN ISO 13849-1 and EN IEC 60947-5-1.
Technical Data:
Ordering Details:
Product Type: AZM 161SK-12/12RKA-024
Part Number: 101166285
EAN: 4030661213972
eCl@ss Number: 27-27-26-03
ETIM Number: EC002593
Approvals:
Certifications: IFA, cULus, CCC
Standards: EN ISO 13849-1, EN ISO 14119, EN IEC 60947-5-1