hallo zusammen,
ich nutze FEU 1.12 und CustomContent 1.7.3 mit CMSms 1.8.1
nachdem ich mich eingeloggt habe, erscheint die Meldung:
Warning: Invalid argument supplied for foreach() in .../modules/FrontEndUsers/FrontEndUsers.module.php on line 360
die seite funktioniert ganz normal. woran kann das liegen? wie kann ich den fehler beseitigen?
danke und gruß, steffen
Fehlermeldung nach Login
Fehlermeldung nach Login
Last edited by Anonymous on Sun Aug 15, 2010 6:31 pm, edited 1 time in total.
Re: Fehlermeldung nach Login
Warum die Seite ganz normal funktioniert?skyrich wrote:
die seite funktioniert ganz normal. woran kann das liegen?
Weil es kein schlimmer Fehler, sondern "nur" eine Warnung ist.
Das kommt ganz darauf an, was die Ursache dieses Fehlers ist.skyrich wrote:
wie kann ich den fehler beseitigen?
Klappt denn der Login?
Last edited by NaN on Sun Aug 15, 2010 6:35 pm, edited 1 time in total.
Re: Fehlermeldung nach Login
hi,
ja, der login funktioniert. die warnung erscheint auch erst, nachdem ich eingeloggt bin.
wie kann ich die warnung unterdrücken?
ja, der login funktioniert. die warnung erscheint auch erst, nachdem ich eingeloggt bin.
wie kann ich die warnung unterdrücken?
Re: Fehlermeldung nach Login
Weil Du neu hier bist...
Unterdrücken kannst Du sie mit diesen Einträgen in Deiner .htaccess Datei:
php_flag display_startup_errors 0
php_flag display_errors 0
php_flag html_errors 0
php_value docref_root 0
php_value docref_ext 0
(wurde hier wirklich schon oft erwähnt
)
Hat der User mit dem Du Dich einloggst irgendwelche Eigenschaften ausgefüllt?
Sorry, wenn ich so viele Fragen stelle, aber dieser Fehler sollte eigentlich garnicht angezeigt werden, wenn das Modul FrontEndUsers fehlerfrei funktioniert.
Der einzige "Fehler" im Modul ist, dass an dieser Stelle einfach versucht wird mit foreach() ein array zu durchlaufen, (mal wieder) ohne zu prüfen, ob die betreffende Variable überhaupt ein array ist. (die Funktion, die für diese Variable zuständig ist, kann nämlich auch einfach nur false zurückliefern) Aber wenn alles geklappt hat, dann kann diese Variable eigentlich nichts anderes sein als ein array.
Daher meine Fragen.
Einfach nur um festzustellen, ob da nicht irgendwo doch noch ein Fehler im Modul ist, den ich vom bloßen Blick in den Quellcode gerade nicht finden kann.
Unterdrücken kannst Du sie mit diesen Einträgen in Deiner .htaccess Datei:
php_flag display_startup_errors 0
php_flag display_errors 0
php_flag html_errors 0
php_value docref_root 0
php_value docref_ext 0
(wurde hier wirklich schon oft erwähnt

Hat der User mit dem Du Dich einloggst irgendwelche Eigenschaften ausgefüllt?
Sorry, wenn ich so viele Fragen stelle, aber dieser Fehler sollte eigentlich garnicht angezeigt werden, wenn das Modul FrontEndUsers fehlerfrei funktioniert.
Der einzige "Fehler" im Modul ist, dass an dieser Stelle einfach versucht wird mit foreach() ein array zu durchlaufen, (mal wieder) ohne zu prüfen, ob die betreffende Variable überhaupt ein array ist. (die Funktion, die für diese Variable zuständig ist, kann nämlich auch einfach nur false zurückliefern) Aber wenn alles geklappt hat, dann kann diese Variable eigentlich nichts anderes sein als ein array.
Daher meine Fragen.
Einfach nur um festzustellen, ob da nicht irgendwo doch noch ein Fehler im Modul ist, den ich vom bloßen Blick in den Quellcode gerade nicht finden kann.
Re: Fehlermeldung nach Login
Hallo NaN,
vielen Dank für Dein Verständnis!
Nach der Installation von FEU habe ich 2 Eigenschaften hinzugefügt, davon 1 zunächst geändert und danach gelöscht. Vielleicht kommt deswegen die Warnung. Wenn dem so ist, könnte ich entweder FEU deinstallieren und danach wieder installieren, oder den Weg über die .htaccess gehen. Ist das so richtig?
Eine Deinstallation wäre nicht so dramatisch, da die Seite derzeit noch als Test läuft.
Nochmals vielen Dank für Deine Unterstützung. Die Suche habe ich zwar genutzt, vermutlich aber nicht mit den richtigen Suchbegriffen und auch nicht intensiv genug.
Gruß Steffen
vielen Dank für Dein Verständnis!
Nach der Installation von FEU habe ich 2 Eigenschaften hinzugefügt, davon 1 zunächst geändert und danach gelöscht. Vielleicht kommt deswegen die Warnung. Wenn dem so ist, könnte ich entweder FEU deinstallieren und danach wieder installieren, oder den Weg über die .htaccess gehen. Ist das so richtig?
Eine Deinstallation wäre nicht so dramatisch, da die Seite derzeit noch als Test läuft.
Nochmals vielen Dank für Deine Unterstützung. Die Suche habe ich zwar genutzt, vermutlich aber nicht mit den richtigen Suchbegriffen und auch nicht intensiv genug.
Gruß Steffen
Re: Fehlermeldung nach Login
Hallo, zusammen!
Mein Anliegen liegt ziemlich nahe diesem Thema, darum wollte ich kein neues anfangen.
In Abmeldungs-Template gibt es eine Begrüßung
Der Benutzername ist seine Emailadresse. Ich finde das sieht etwas komisch aus:
Willkommen blabla@bla.de!
Ich wollte also anstatt {$username} die Benutzereigenschaften wie {$anrede} {$nachname} einbauen. Und das will nicht funktionieren! :-\
Ich habe in /FrontEndUsers/lib/class.feu_smarty.php spezielle Funktionen dafür definiert. Z.B.:
Dann wird es wie folgt im Template aufgerufen:
Leider gibt es dann eine Fehlermeldung:
Warning: Invalid argument supplied for foreach() in /home/www/shop/modules/FrontEndUsers/lib/class.feu_smarty.php on line 205
Wenn ich $res in ein Array mittels settype umwandle, verschwindet zwar die Fehlermeldung, löst sich das Problem aber immer noch nicht.
Ergebnis sieht dann so aus:
Willkommen, 1!
Als ob hier ein boolscher Wert übermittelt wird...
Ich begreife nicht warum das nicht geht.
Ich nutze jetzt CMS 1.8.2 und FrontEndUsers 1.12.2
In meinem vorherigen Projekt habe ich das gleiche gemacht und es hat funktioniert. Da hatte ich CMS 1.5.3 und FrontEndUsers 1.6.5
Mein Anliegen liegt ziemlich nahe diesem Thema, darum wollte ich kein neues anfangen.
In Abmeldungs-Template gibt es eine Begrüßung
Code: Select all
{$prompt_loggedin}{$username}
Willkommen blabla@bla.de!
Ich wollte also anstatt {$username} die Benutzereigenschaften wie {$anrede} {$nachname} einbauen. Und das will nicht funktionieren! :-\
Ich habe in /FrontEndUsers/lib/class.feu_smarty.php spezielle Funktionen dafür definiert. Z.B.:
Code: Select all
function get_user_anrede($uid,$assign)
{
if( empty($uid) ) return;
if( empty($assign) ) return;
if( !is_object($this->_module) ) return;
$res = $this->_module->GetUserProperties($uid);
foreach($res as $one)
{
if ($one['title'] == 'anrede')
$res2 = $one['data'];
}
global $gCms;
$smarty =& $gCms->GetSmarty();
$smarty->assign($assign,$res2);
}
Code: Select all
{$feu_smarty->get_user_anrede($userid,'anrede')}{$anrede|print_r}
Warning: Invalid argument supplied for foreach() in /home/www/shop/modules/FrontEndUsers/lib/class.feu_smarty.php on line 205
Wenn ich $res in ein Array mittels settype umwandle, verschwindet zwar die Fehlermeldung, löst sich das Problem aber immer noch nicht.
Ergebnis sieht dann so aus:
Willkommen, 1!
Als ob hier ein boolscher Wert übermittelt wird...
Ich begreife nicht warum das nicht geht.
Ich nutze jetzt CMS 1.8.2 und FrontEndUsers 1.12.2
In meinem vorherigen Projekt habe ich das gleiche gemacht und es hat funktioniert. Da hatte ich CMS 1.5.3 und FrontEndUsers 1.6.5
Last edited by LightFighter on Fri Oct 15, 2010 6:00 am, edited 1 time in total.
Re: Fehlermeldung nach Login
Das ist eindeutig ein boolscher Wert! Ich hab gerade Folgendes ausprobiert:
In meiner Funktion kommentierte ich die foreach-schleife aus und fügte dies hinzu:
Ausgabe:
Willkommen, boolean1!
Warum gibt $this->_module->GetUserProperties($uid) einen boolean zurück?`
Die Funktion GetUserProperties soll doch nach ihrer Definition einen Array zurückgeben!...
Oder sehe ich das Falsch?
In meiner Funktion kommentierte ich die foreach-schleife aus und fügte dies hinzu:
Code: Select all
$res2 = gettype($res);
Willkommen, boolean1!
Warum gibt $this->_module->GetUserProperties($uid) einen boolean zurück?`
Die Funktion GetUserProperties soll doch nach ihrer Definition einen Array zurückgeben!...
Oder sehe ich das Falsch?
Re: Fehlermeldung nach Login
Problem Gelöst! 
Bei Erstellung der Benutzereigenschaften setzte ich mal ein "ja" bei "Store this data encrypted in the database". Nur so, zum Ausprobieren, wollte sehen was passiert... Das war auch ein Checkbox... Na ja. Jetzt hab ich gesehen was passiert. Sobald ich die Werte für Unique und Encrypt in DB wieder auf 0 setzte, wurde in der Ausgabe aus einem boolean plötzlich ein array!
Jetzt läuft alles ganz normal. Und übrigens. Die Variablen aus Benutzereigenschaften kann man auch so ansprechen, ohne spezielle Funktionen und {$feu_smarty->...}. Die sind alle in gCms dabei.
Und noch was. Bei Benutzung von print_r wird eine komische 1 am Ende drangehängt. In meinem Fall: "Willkommen, Herr Weiland1!" Ich nehme statdessen sprintf und die 1 verschwindet.

Bei Erstellung der Benutzereigenschaften setzte ich mal ein "ja" bei "Store this data encrypted in the database". Nur so, zum Ausprobieren, wollte sehen was passiert... Das war auch ein Checkbox... Na ja. Jetzt hab ich gesehen was passiert. Sobald ich die Werte für Unique und Encrypt in DB wieder auf 0 setzte, wurde in der Ausgabe aus einem boolean plötzlich ein array!
Jetzt läuft alles ganz normal. Und übrigens. Die Variablen aus Benutzereigenschaften kann man auch so ansprechen, ohne spezielle Funktionen und {$feu_smarty->...}. Die sind alle in gCms dabei.
Und noch was. Bei Benutzung von print_r wird eine komische 1 am Ende drangehängt. In meinem Fall: "Willkommen, Herr Weiland1!" Ich nehme statdessen sprintf und die 1 verschwindet.