bin dabei ne funktion zu basteln mit der ich usereingaben checken kann
mit dem 'extra' wert kann ich noch zusätzlich ne 'if' einbauen, leider klappt das mit dem eval nicht!
falls ihr noch ideen habt, wie man die funktion verbessern könnte, immer man hier anhängen
mit dem 'extra' wert kann ich noch zusätzlich ne 'if' einbauen, leider klappt das mit dem eval nicht!
falls ihr noch ideen habt, wie man die funktion verbessern könnte, immer man hier anhängen
PHP-Code:
<form name="<?php $PHP_SELF ?>" method="post" action="">
<input name="feld1" type="text" value="feld1">
<input name="feld2" type="text" value="feld2">
<input name="feld3" type="text" value="feld3">
<input type="submit" name="submit" value="Senden">
</form>
<?php
//defines
define('TYPE_AUTO', 0);
define('TYPE_GET', 1);
define('TYPE_POST', 2);
define('TYPE_SESSION', 3);
//debug var function
function vd($var)
{
//$var auf array checken
if( is_array($var) OR is_object($var)) {
echo "<hr><pre style=\"background-color:#FF8888\">";
print_r($var);
echo "</pre><hr>";
} elseif(is_string($var)) {
echo "<hr><p style=\"background-color:#FF8888\">".$var."<p><hr>";
} else {
echo "<hr><p style=\"background-color:#FF8888\">Inhalt der var:<br>".$var."<p><hr>";
}
}
//check_fields function
function check_fileds($array, $type = TYPE_AUTO) {
foreach($array as $key => $value) {
//check typ
switch( $value['type'] )
{
case TYPE_SESSION:
if( isset($_SESSION[$value['name']]) )
$var = $_SESSION[$value['name']];
break;
case TYPE_POST:
if( isset($_POST[$value['name']]) )
$var = $_POST[$value['name']];
break;
case TYPE_GET:
if( isset($_GET[$value['name']]) )
$var = $_GET[$value['name']];
break;
case TYPE_AUTO:
if( isset($_REQUEST[$value['name']]) )
$var = $_REQUEST[$value['name']];
break;
}
//extra if
if(isset($value['extra'])) {
$extra = substr($value['extra'], 1, -1);
$input = $var;
}
//check if the var exist
if(!$var) {
$novar[] = array($value['name'],$value['msg']);
}elseif(eval($extra)) {
$novar[] = array($value['name'],$value['msg']);
}
}
//build array
if(isset($novar)) {
foreach ($novar as $key => $value) {
// hier könnte man evtl noch was machen
}
}
return $novar;
}
if(isset($_POST['submit'])){
echo "abgeschickt";
//check array
$array = array();
$array[] = array('name' => 'feld1',
'msg' => 'hey feld1 eingeben',
'typ' => TYPE_POST,
'extra' => '($input != "3")');
$array[] = array('name' => 'feld2',
'msg' => 'hey feld2 eingeben',
'typ' => TYPE_POST);
$array[] = array('name' => 'feld3',
'msg' => 'hey feld3 eingeben',
'typ' => TYPE_POST);
$array[] = array('name' => 'feld4',
'msg' => 'hey feld4 eingeben',
'typ' => TYPE_POST);
vd(check_fileds($array, TYPE_POST));
}
?>
Kommentar