Array durchsuchen obs leer ist

dg87

Erfahrenes Mitglied
Hallo,

irgendwie steh ich grad voll auf der leitung ich glaubs ned.
Ich gebe ein Request Array aus und das sieht so aus:



Array
(
[m] => 24
[d] => 44
[l] => 92
[t] => 99
[action] => speichernschool
[name] =>
[abteilung] => fdsdfsdfsdf
[vomdate] =>
[ausbildungsjahr] =>
[bisdate] =>
[anr] =>
[businesstext] =>
[unterweisung] =>
[schultext] =>
[order] => Speichern
[PHPSESSID] => ad57e0ca6862ebe34e9e070cd04bb4b5
[uin] =>
)


Die Eingabe Werte sind leer, das is ja mal egal. Wie gehe ich jetzt das Array durch, damit ich überprüfen kann ob die Elemente leer sind? ich will ned extra für jeden index hier ein if machen müssen. danke
 
Zuerst einmal ein Tipp:
Anstatt $_REQUEST würde ich entweder $_POST oder $_GET ansprechen, da bei Request auch die Session und alle Cookie mit angezeigt werden.

Zu deinem Problem:
PHP:
foreach ($_REQUEST as $request)
{
  if(empty($request))
    echo $request.' is leer!';
}
 
Du willst mittels in_array nach einem nicht gesetzten Wert suchen? Kann mir grade nicht vorstellen, ob das so geht... Falls doch wär das natürlich die schönste Variante :)
 
PHP:
foreach($_POST as $key=>$value)
          {
              if($value == null)
              {
                  echo "Fehler ". $key . " ist leer<br>";
              }  
          }

Jo das funktioniert und er sagt mir auch genau bei welchen index was fehlt, das ist schon mal super.
Sorry leute dass ich so blöde frage, aber heute krieg ich irgendwie nichts zusammen, keine ahnung warum ;-)

Ich will jetzt noch so einbauen:
Also er geht nach wie vor so wie oben durch und kuckt sich die Arrays an, wenn jedoch alles gesetzt ist, soll er eine funktion zb aufrufen. ein else kann ich leider oben nicht einfach machen, weil das wird dann aufgerufen, wenn indexe existieren und welche nicht.
Das heißt er soll die Funktion nur aufrufen, wenn (nach der schleife) wirklich alles existiert, weil das wird dann an eine db gesendet

Danke leute
 
Hier mal eine ganz billige Variante, aber eine bessere fällt mir leider grad nicht ein. :D

PHP:
$voll = true;
foreach($_POST as $key=>$value)
          {
              if($value == null)
              {
                  echo "Fehler ". $key . " ist leer<br>";
                  $voll = false;
              }  
          }  

if {$voll == true}
   //Funktionsaufruf
 
Zuletzt bearbeitet:
PHP:
$i=0;

foreach($_POST as $key=>$value) 
          { 
              if($value == null) 
              { 
                  echo "Fehler ". $key . " ist leer<br>"; 
                  $i++;
              }   
          }

if($i == 0){
    deineFunktion();
}

So sollte es funktionieren.
 
Zuletzt bearbeitet:
Das Beste kommt zum Schluss ;)
PHP:
$emptyFields = array();

foreach($_POST as $key=>$value) 
          { 
              if(is_null($value)) 
              { 
                  $emptyFields[] = $key;
              }   
          }

if(count($emptyFields) > 0){
    echo '<pre>';
    var_dump($emptyFields); // zeigt schön formatiert alle leeren Felder an
    echo '</pre>';
}
else
{
    // weiter im Text
}
 
Ähm...
Ich ziehe meinen Post zurück, hab nich wirklich nachgedacht^^
Mit in_array() kann man nur nach einem Bestimmten WERT im Array suchen und nicht nach nem Indexzustand ^^

SORRY :lol:
 
Zurück