/**
* 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 101144262 AZM 170SK-11ZRKA 24VAC/DC safety interlock
The AZM 170SK-11ZRKA 24VAC/DC safety interlock switch is an electromechanical device designed for secure monitoring and locking of safety guards in industrial applications. It ensures high reliability, robust construction, and comprehensive safety features in compliance with international standards.