foreach Problem

mrepox

Erfahrenes Mitglied
In meinem Onlineshop tritt ein Problem auf:

Warning: Invalid argument supplied for foreach() in /var/www/html/web13/html/data_valid_script.php on line 6
Die Kategorie '' konnte nicht in die Datenbank eingetragen werden.


In meiner Entwicklungsumgebung läuft dagegen alles 100 Prozentig
Das Script soll prüfen ob die Variablen auch Werte haben, sprich ob ein Formular ausgefüllt wurde.

Ich verwende PHP5


Hier mal der Code dazu:










PHP:
function filled_out($form_vars)
{
  // prüfen, ob jede Variable einen Wert hat
  foreach ($form_vars as $key => $value) {
      if (!isset($key) || ($value == ''))
          return FALSE;
  }
  return TRUE;
}


Kann mir jemand weiterhelfen?
 
Hi,

ist $form_vars denn überhautp ein Array? Und befindet sich in Zeile 6 deines Skriptes auch wirklich die Funktion an sich oder nur die aufgerufene Funktion?
 
Der Fehler tritt auf, wenn der Array nicht gesetzt ist, oder es sich nicht um einen Array handelt.

Versuch folgendes um den Fehler abzufangen:

PHP:
function filled_out($form_vars) 
{ 
  // prüfen, ob jede Variable einen Wert hat 
  if(is_array($form_vars) {
     foreach ($form_vars as $key => $value) { 
       if (!isset($key) || ($value == '')) 
           return FALSE; 
    } 
  return TRUE; 
  } else {
      return FALSE;
 }
}
 
Hmm.. irgendwas stimmt nicht mit den Klammern " { ", kommt immer eine Fehlermeldung bzg. dieser.
 
Ja.. die Klammern sind nicht richtig..

Aber im Prinzip:

PHP:
if (is_array($x)) {
    foreach().... {
        return true;
    }
} else {
    return false;
}

Es geht eigentlich nur um den is_array Error Handler den Du somit implementierst...
 
So, hier noch mal gesamt (das hier Zeileneinrückungen mit TAB nicht gehen macht mich wahnsinnig ;)

PHP:
function filled_out($form_vars) 
{ 
    // prüfen, ob jede Variable einen Wert hat 
    if(is_array($form_vars) {
        foreach ($form_vars as $key => $value) { 
            if (!isset($key) || ($value == '')) 
                return FALSE; 
        }
        return TRUE; 
    } else {
        return FALSE;
    } 
}
 
Parse error: parse error, unexpected '{' in /var/www/html/web13/html/data_valid_script.php on line 6


leider immer noch....

hier :

if(is_array($form_vars) {
 
Zurück