Hallo,
mittlerweile kann ich schon mal behaupten, dass es sich nicht um fehlerhafte PHP-Funktionen handelt, denn wenn ich die selbe Überprüfungsklasse in einer anderen Datei einbinde, funktioniert es komischerweise wie es soll:
<?php
include_once("CheckArtikel.php");
if (isset($_REQUEST['save'])) {
$text = $_REQUEST['testtext'];
$warengruppe = 8;
$checker = new CheckArtikel();
$text = $checker->checkStrichcode($text,$warengruppe);
echo $text;
}
else {
echo <<<EOT
<html>
<head><title>test</title></head>
<body>
<form method="post" action="">
<input type="text" name="testtext" value="">
<input type="submit" name="save" value="submit">
</form>
</body>
</html>
EOT;
}
?>
{/code]
So sieht die Orginalmethode aus:
[code lang=php]
public function checkStrichcode($strichcode, $warengruppe) {
if ($warengruppe == 9)
return true;
$strichcode = trim($strichcode);
$strichcode = preg_replace('/[\s\t]/', '', $strichcode);
$strichcode = str_replace(' ', '', $strichcode);
if (is_numeric($strichcode) && (strlen($strichcode) <= 20) )
return $strichcode;
return false;
}
Es ist mir noch immer absolut schleierhaft, wie es zu diesem Verhalten kommt.
Markus