Warnmeldung wenn Kategorie hinzugefügt wird

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
reini-m
Beiträge: 4
Registriert: 30.12.2009, 00:38
Wohnort: Steyr

Warnmeldung wenn Kategorie hinzugefügt wird

Beitrag von reini-m »

Hallo,

ich verwende die Version 1.6.17.

Jedesmal wenn ich im Adminbereich eine neue Kategorie hinzufüge bekomme ich folgene Warnmeldung:

Warning: stripslashes() expects parameter 1 to be string, array given in C:\xampp\htdocs\shop\admin\includes\functions\function_kernel.php on line 866

Warning: stripslashes() expects parameter 1 to be string, array given in C:\xampp\htdocs\shop\admin\includes\functions\function_kernel.php on line 866

Warning: stripslashes() expects parameter 1 to be string, array given in C:\xampp\htdocs\shop\admin\includes\functions\function_kernel.php on line 866

Warning: stripslashes() expects parameter 1 to be string, array given in C:\xampp\htdocs\shop\admin\includes\functions\function_kernel.php on line 866

Warning: stripslashes() expects parameter 1 to be string, array given in C:\xampp\htdocs\shop\admin\includes\functions\function_kernel.php on line 866

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\shop\admin\includes\functions\function_kernel.php:866) in C:\xampp\htdocs\shop\admin\includes\functions\function_session.php on line 125

Woran kann das liegen?

Danke im Voraus :D

Lg Reinhard
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Bitte eine PHP Version kleiner 5.3 bei MysOOS 1.6.x verwenden.

oder die Funktion umschreiben.

Was wird an der Meldung nicht verstanden?
reini-m
Beiträge: 4
Registriert: 30.12.2009, 00:38
Wohnort: Steyr

Beitrag von reini-m »

Danke für die schnelle Antwort!

Ich konnte mir nur einfach nicht erklären, warum dauernd diese Meldung kam bzw. warum anscheinend ein leerer Parameter übergeben wird.
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

für die 1.6.x und 1.7.x MyOOS Version gibt es keinen PHP 5.3 Support. Wenn man die MyOOS
Versionen mit PHP 5.3 verwenden möchte, muss man einige Funktionen selber umschreiben.

Wir stellen auf unserem Server die Informationen aus dem PHP Handbuch zur Verfügung
http://www.oos-shop.de/doc/php_manual_d ... ion53.html

Ich empfehle bei der MyOOS Version 1.7.x die Verwendung von PHP 5.2.12
http://www.php.net/archive/2009.php#id2009-12-17-1
diese wurde am 17.12.2009 veröffentlicht.


kommen wir zu dieser Meldung...

stripslashes() expects parameter 1 to be string, array given in ~\admin\includes\functions\function_kernel.php on line 866

Code: Alles auswählen

  function oosPrepareInput($string) {
    if (get_magic_quotes_gpc()) {
      $string =& stripslashes($string);
    }
    $string =& trim($string);

    return $string;
  }
kann man sich umschreiben

Code: Alles auswählen

 
 function oosPrepareInput($value) {
    if (is_string($value)) {
       if (get_magic_quotes_gpc()) {
         $value =& stripslashes($value);
       }
      $string =& trim($value);
   }
    return $value;
  }
eine derartige Änderung ist aber nur im Admin tragbar im Shopbereich sollte man eine andere Lösung suchen.

Beste Grüße

ralf
reini-m
Beiträge: 4
Registriert: 30.12.2009, 00:38
Wohnort: Steyr

Beitrag von reini-m »

ja danke, funktioniert so einwandfrei. :thumbsup:
So weit ich das sehen kann, wird diese Funktion ja auch nur von oos_main im Adminbereich verwendet.
Es sollte somit ja auch keine Probleme geben.

Nur zum Verständnis habe ich das problemauslösende Konstrukt in oos.main mal umgeschrieben, damit ich weiß, warum diese Fehlermeldung ausgegeben wird - Um praktisch das Problem an der Wurzel packen zu können.
if (isset($_POST)) {
foreach ($_POST as $key=>$value) {
$$key = oosPrepareInput($value);
echo '$$key= ';
echo $$key;
echo " </br>";
echo 'value= ';
echo $value;
echo "</br>";
}
}

Die Ausgabe sieht dann folgendermaßen aus:
Warning: trim() expects parameter 1 to be string, array given in C:\xampp\htdocs\shop\admin\includes\functions\function_kernel.php on line 868
$$key=
value= Array

Wenn ich das richtig verstehe, handelt es sich hierbei um einen leere _post variable welche allerdings einen Inhalt hat ?(

Ich weiß zwar, dass die Version 5.3 nicht supported wird - wäre allerdings für eine Antwort sehr dankbar.
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

es gibt Strings
http://www.oos-shop.de/doc/php_manual_d ... tring.html

und Arrays
http://www.oos-shop.de/doc/php_manual_d ... array.html

und hier die Basic
http://www.oos-shop.de/doc/php_manual_d ... asics.html

die Meldung stripslashes() expects parameter 1 to be string, array given sagt grob übersetzt, es wurde
ein String erwartet aber es wurde ein Array übergeben.

Code: Alles auswählen

if (isset($_POST)) {
foreach ($_POST as $key=>$value) {
$$key = oosPrepareInput($value);
echo '$$key= ';
echo $$key;
echo " </br>";
echo 'value= ';
echo $value;
echo "</br>";
}
}

Code: Alles auswählen

if (isset($_POST)) {
    echo '<pre>';
   print_r($_POST);
    echo '</pre>';
foreach ($_POST as $key=>$value) {
$$key = oosPrepareInput($value);
}
}
anstelle print_r kann man auch var_dump verwenden. Bite selber im PHP handbuch nachlesen...

Hoffe die Antwort hilft weiter

ralf

ps: das MyOOS Projekt ist kein PHP Kurs!
reini-m
Beiträge: 4
Registriert: 30.12.2009, 00:38
Wohnort: Steyr

Beitrag von reini-m »

Danke für den Denkanstoß - man sollte die Fehlermeldung immer genau lesen.

Jetzt hab ichs :D
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

und dafür immer nur die erste Meldung beachten.. weitere Meldungen sind in der Regel die FOLGE der ERSTEN Meldung.

Hier im Forum sollte man nur die erste Meldung veröffentlichen und eben dazuschreiben, was man an dieser Meldung
nicht versteht... bzw. wie man diese Meldung wo, wie erzeugt hat.... dann können und werden wir vermutlich helfen.

Beste Grüße

ralf
Antworten