Seite 1 von 1

Warning: Invalid argument supplied for foreach()

Verfasst: 24.10.2006, 20:16
von tango
Moin,
nachdem mein Provider die Serverhardware und auch wahrscheinlich die ganze Software getauscht hat habe ich folgendes Problem mit Coppermine (Läuft auf php-Nuke):

Warning: Invalid argument supplied for foreach() in /home/www/web123/html/domain/modules/coppermine/searchnew.php on line 316

ab Zeile 316:

Code: Alles auswählen

   foreach ($_POST['pics'] as $pic_id) {
        // check to see if select has changed
        if ($HTTP_POST_VARS[$_POST['album_lb_id_' . $pic_id]] == 0) {
            cpg_die(ERROR, NO_ALBUM, "searchnew.php id: " . $HTTP_POST_VARS['album_lb_id_' . $pic_id] . " pic_id: $pic_id", __LINE__); //return;
        }
    } // end of die if album not selected
    
PHP version: 4.4.4
MySQL version: 4.1.21-log

Directive
safe_mode On
register_globals off
safe_mode_exec_dir no value
safe_mode_gid Off
safe_mode_include_dir /home/www/web123/html /home/www/web123/html
safe_mode_exec_dir no value
sql.safe_mode Off
disable_functions system,popen,escapeshellcmd,shell_exec system,popen,escapeshellcmd,shell_exec
file_uploads On On
include_path .:/usr/local/php4/lib/php .:/usr/local/php4/lib/php
open_basedir /home/www/web123

Jemand ahnung woran das liegen könnte? Evtl. Servereinstellung? Aber welche ?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 24.10.2006, 20:22
von Andy.C
Hi,
ersetz ma

foreach ($_POST['pics'] as $pic_id) {

durch

if(isset($_POST['pics']) && is_array($_POST['pics']))
foreach ($_POST['pics'] as $pic_id) {


Grüße

Verfasst: 24.10.2006, 20:42
von net(t)worker

Code: Alles auswählen

f(isset($_POST['pics'])
{
$zyx = $_POST['pics'];
if (!is_array($xyz))
{
$pic_id=$xyz;
}
else
{
foreach ($xyz as $pic_id) { 
...
...
...
}
$_POST['pics'] kann ggf. ja auch nur einen wert enthalten, muss ja nicht zwangsweise ein array sein, oder?

Verfasst: 24.10.2006, 21:26
von Hasenhuf
Es gibt auch arrays mit einem oder keinem Element. @ tango, sieht das Formular so aus?

Code: Alles auswählen

name="pics[]"
Ich mache es so:

Code: Alles auswählen

for &#40;$c = 0; $c < sizeof&#40;$_POST&#91;'pics'&#93;&#41;; ++$c&#41;

Verfasst: 25.10.2006, 07:53
von marc75
if(isset($_POST['pics']) && is_array($_POST['pics']))
foreach ($_POST['pics'] as $pic_id) {
nimm das, denn foreach erwartet generell ein Array.

Verfasst: 17.11.2006, 19:18
von tango
Sorry das ich mich jetzt erst wieder melde. Also die Fehlermeldung ist weg, nur leider funktioniert das batchen von Bildern über Coppermine immer noch nicht.

Ich denke das liegt an den Servereinstellungen. SAFE_MODE ist ON aber OFF bringt auch nichts. SILLY_SAFE_MODE ist auch aktiviert aber auch ohne Erfolg.

Hat jemand noch einen Tipp `?

Verfasst: 18.11.2006, 10:09
von tango
muss safe_mode_exec_dir nicht einen Wert haben ???