[1.6.5] Problem mit PHP5 und Listen der Produkte
Hallo Ich habe folgendes Problem mit dem OOS Shop, seitdem ich über meinen Provider auf PHP 5 umgestellt wurde weißt der OSO Shop Fehler auf mit der Funktion:
RecordCount(); auf.
Wenn ich Produkte anlisten möchte nach Hersteller erscheint nun Folgned eFehlermeldung:
Fatal error: Call to a member function on a non-object in ......../shop/includes/modules/product_listing.php on line 35
Zeile 35:
// fix counted products
$listing_numrows = $db->Execute($listing_numrows_sql);
$listing_numrows = $listing_numrows->RecordCount();
Ändere Ich die Variable in
RecordCount = 1;
Dann ist der Fehler weg, jedoch listet er auch keine Artikel nach Hersteller mehr auf. Die Tabell ebleibt weiß.
Wier kann man das umschreiben damit die Funktion nach Hersteller Listen wieder funktioniert. Nach Angaben meines Providers der sich das Script angesehen hat, meint es müsste umgeschrieben werden damit es auf PHP 5 läuft.
Übrigens unter php 4 war das kein Problem.
Das Problem tritt auch auf bei Anlisten der Meinungen die Kunden abgegeben haben. Und wenn man eine Artiekl in den Warenkorb legen will.
bei allen 3 Sachen steht im Quelltext diese Funktion
RecordCount();
Das Warebkorb Problem konnte ich aber mit der Umschreibung
RecordCount = 0 lösen, jetzt kann ich wieder Artikel in den Warenkorb legen, aber welche nachteile das hat weiß ich nicht.
Über Hilfe und Vorschläge wäre ich sehr Dankbar.
RecordCount(); auf.
Wenn ich Produkte anlisten möchte nach Hersteller erscheint nun Folgned eFehlermeldung:
Fatal error: Call to a member function on a non-object in ......../shop/includes/modules/product_listing.php on line 35
Zeile 35:
// fix counted products
$listing_numrows = $db->Execute($listing_numrows_sql);
$listing_numrows = $listing_numrows->RecordCount();
Ändere Ich die Variable in
RecordCount = 1;
Dann ist der Fehler weg, jedoch listet er auch keine Artikel nach Hersteller mehr auf. Die Tabell ebleibt weiß.
Wier kann man das umschreiben damit die Funktion nach Hersteller Listen wieder funktioniert. Nach Angaben meines Providers der sich das Script angesehen hat, meint es müsste umgeschrieben werden damit es auf PHP 5 läuft.
Übrigens unter php 4 war das kein Problem.
Das Problem tritt auch auf bei Anlisten der Meinungen die Kunden abgegeben haben. Und wenn man eine Artiekl in den Warenkorb legen will.
bei allen 3 Sachen steht im Quelltext diese Funktion
RecordCount();
Das Warebkorb Problem konnte ich aber mit der Umschreibung
RecordCount = 0 lösen, jetzt kann ich wieder Artikel in den Warenkorb legen, aber welche nachteile das hat weiß ich nicht.
Über Hilfe und Vorschläge wäre ich sehr Dankbar.
PS:
Wir können als kostenpflichtigen Service ein Update durchführen
und die Produktdaten und Kundendaten übernehmen
http://foren.myoos.de/index.php?showtopic=90
Für Rückfragen und Anregungen stehe ich gern zur Verfügung.
cu
ralf
Wir können als kostenpflichtigen Service ein Update durchführen
und die Produktdaten und Kundendaten übernehmen
http://foren.myoos.de/index.php?showtopic=90
Für Rückfragen und Anregungen stehe ich gern zur Verfügung.
cu
ralf
Habe OOS 165 am laufen, aber ich habe auch die oos 171 auf den server geladen zum testen, der selbe fehler. Deswegen bin ich noch bei 165 geblieben. Ansich läuft ja der Shop, die Kunden könne bestellen nur das man die Filterfunktion nicht vetrwenden kann, das stört mich etwas, kann man da nicht einafch eine kleinigkeit umschrieben damit die Funktion wieder geht.
was ich lustig finde die filterung nach produkten die funktioniert, jedoch nicht die filterung nach herstellern, obwohl die funktionen ansich die selben sein müssten.
was ich lustig finde die filterung nach produkten die funktioniert, jedoch nicht die filterung nach herstellern, obwohl die funktionen ansich die selben sein müssten.
In der 1.6.6 wurde die 'vergessene' Datenbankabfrage für mySQL 5.x geändert. Dafür gibt es dann nach wenigen Wochen immer ein kleines UpdateHabe OOS 165 am laufen, ... kann man da nicht einafch eine kleinigkeit umschrieben damit die Funktion wieder geht.
in wir derartige Kleinigkeiten beseitigen.
Lösung: einfach die 1.6.12 downloaden und alle Skripte mit einer "komplizierten Dantenbankabfrage" austauschen
~/shop/includes/pages/account/history.php(33): FROM " . $oosDBTable['orders] . " o LEFT JOIN
~/shop/includes/pages/checkout/process.php(156): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop/includes/pages/main/shop.php(296): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop/includes/pages/news/reviews.php(43): FROM " . $oosDBTable['news_description] . " nd LEFT JOIN
~/shop/includes/pages/reviews/product.php(43): FROM " . $oosDBTable['products_description] . " pd LEFT JOIN
~/shop/includes/pages/search/advanced_result.php(223): $from_str = "FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop/includes/pages/search/quickfind.php(40): LEFT JOIN '
http://download.berlios.de/oos/oos_1612.zip
Da myOOS 1.6.12 keine PNG-Grafiken mehr verwendet muss man vermutlich in den Dateien dann noch eben aus den
GIF-Dateinamen PNG-Dateinamen machen.
Wenn der Shop Probleme mit einer Datenbank-Abfrage hat kann man in
~/oos_temp/logs/adodb_error.log
sich die Problembeschreibung einmal durchlesen.
Fehlermeldungen an den Browser sind bei dem Projekt nicht erwünscht.
hth
r23
Hallo r23,
danke erst mal für die schnelle Lösung, es funktioniert nun wieder (fast ) nur noch bei der Kundenbwertung der Artikel bringt er noch den Fehler:
Fatal error: Call to a member function on a non-object in... html/shop/includes/pages/reviews/product_info.php on line 56, habe auch die product_info aus der oos1612 genommen aber er will nicht. Fehler bleibt
Wenn ich in Zeile 56:
if (!$reviews_result->RecordCount()) oos_redirect(oos_link($aModules['reviews], $aFilename['reviews_reviews]));
$reviews = $reviews_result->fields;
RecordCount() umschreibe in RecordCount=0
dann zeigt er mir wieder ein Ergebniss, jedoch kann ich die Meinungen der Kunden nicht vollständig Lesen, beim Klicken auf den Link, passiert nix.
Welche Datei muss ich hier noch ersetzen. Vielen Dank
Ansonsten läuft der Shop wieder sauber auf PHP 5. Danke
danke erst mal für die schnelle Lösung, es funktioniert nun wieder (fast ) nur noch bei der Kundenbwertung der Artikel bringt er noch den Fehler:
Fatal error: Call to a member function on a non-object in... html/shop/includes/pages/reviews/product_info.php on line 56, habe auch die product_info aus der oos1612 genommen aber er will nicht. Fehler bleibt
Wenn ich in Zeile 56:
if (!$reviews_result->RecordCount()) oos_redirect(oos_link($aModules['reviews], $aFilename['reviews_reviews]));
$reviews = $reviews_result->fields;
RecordCount() umschreibe in RecordCount=0
dann zeigt er mir wieder ein Ergebniss, jedoch kann ich die Meinungen der Kunden nicht vollständig Lesen, beim Klicken auf den Link, passiert nix.
Welche Datei muss ich hier noch ersetzen. Vielen Dank
Ansonsten läuft der Shop wieder sauber auf PHP 5. Danke
Die Shop-Konfiguration ist mehr als schrottig. Des weiteren interessiert bei einer Fehlerbeseitigung sicherlich nicht, was der Shop einemdanke erst mal für die schnelle Lösung, es funktioniert nun wieder (fast ) nur noch bei der Kundenbwertung der Artikel bringt er noch den Fehler:
Fatal error: Call to a member function on a non-object in... html/shop/includes/pages/reviews/product_info.php on line 56, habe auch die product_info aus der oos1612 genommen aber er will nicht. Fehler bleibt
Wenn ich in Zeile 56:
if (!$reviews_result->RecordCount()) oos_redirect(oos_link($aModules['reviews], $aFilename['reviews_reviews]));
$reviews = $reviews_result->fields;
möglichen Angreifer mitteilt. Und wie kommt man auf die Idee, dass das Problemchen ein PHP Problem sein könnte?
Was steht in der Error Log Datei vom Datenbankstraltionslayer AdoDb in
~/oos_temp/logs/adodb_error.log
Da man bei der Installation des Shops auf alle Hinweise im Setup nicht beachtet hat (siehe schrottige installation) kann es möglich sein,
dass die log datei leer ist. dann einfach die schreibrechte der datei so legen, dass der webserver in die datei schreiben darf. notfalls die
datei für alle schreibbar machen chmod 666.
der inhalt bezüglich der o.g. behauptung (datei aus 1.6.12 verwendet) interessiert mich besonders
$reviews_result = $db->Execute($sql);
und hier interessiert mich der inhalt von $sql
echo sql;
bitte ausführen.
Listen der Kundenbewertungen
Hallo,
hab auch das Problem, dass beim Aufrufen der Meinungen die Fehlermeldung
Fatal error: Call to a member function on a non-object in /homepages/35/d13592529/htdocs/shop/includes/pages/reviews/product_info.php on line 57
kommt.
Den Lösungsweg hab ich bloß nicht ganz gecheckt.
Wenn ich, wie vorher erwähnt, RecordCount auf null setze, bleibt die Fehlermeldung weg. Es kommt die Liste mit allen geschriebenen Meinungen aller Artikel und nicht die Bewertung über den einzelnen ausgewählten Artikel.
phpversion meines Providers ist 4.4.9
mysql Version ist: Client API version 5.0.67
Kann es sein, dass ich vielleicht bei php.ini noch was vergessen habe? (register_global on oder off?)
Wie kann ich bei einem bereits installierten Shop nachträglich die Shop-Version auslesen? (Ist schon länger her, als ich den installiert habe und weis nicht mehr, welche Version ich damlas downgeloadet habe.)
Für einen kleinen Tipp wäre ich sehr dankbar.
CIAO
donee
hab auch das Problem, dass beim Aufrufen der Meinungen die Fehlermeldung
Fatal error: Call to a member function on a non-object in /homepages/35/d13592529/htdocs/shop/includes/pages/reviews/product_info.php on line 57
kommt.
Den Lösungsweg hab ich bloß nicht ganz gecheckt.
Wenn ich, wie vorher erwähnt, RecordCount auf null setze, bleibt die Fehlermeldung weg. Es kommt die Liste mit allen geschriebenen Meinungen aller Artikel und nicht die Bewertung über den einzelnen ausgewählten Artikel.
phpversion meines Providers ist 4.4.9
mysql Version ist: Client API version 5.0.67
Kann es sein, dass ich vielleicht bei php.ini noch was vergessen habe? (register_global on oder off?)
Wie kann ich bei einem bereits installierten Shop nachträglich die Shop-Version auslesen? (Ist schon länger her, als ich den installiert habe und weis nicht mehr, welche Version ich damlas downgeloadet habe.)
Für einen kleinen Tipp wäre ich sehr dankbar.
CIAO
donee
RE: Listen der Kundenbewertungen
[quote='donee360',index.php?page=Thread&postID=2128#post2128]
Fatal error: Call to a member function on a non-object in /homepages/35/d13592529/htdocs/shop/includes/pages/reviews/product_info.php on line 57
[/quote]
Wir verwenden in der aktuellen MyOOS Version 1.6.x diese Datenbankabfrage:
[mysql] $sql = "SELECT rd.reviews_text, r.reviews_rating, r.reviews_id, r.products_id,
r.customers_name, r.date_added, r.last_modified, r.reviews_read,
p.products_id, pd.products_name, p.products_model, p.products_image
FROM " . $oosDBTable['reviews] . " r,
" . $oosDBTable['reviews_description] . " rd,
" . $oosDBTable['products] . " p,
" . $oosDBTable['products_description] . " pd
WHERE r.reviews_id = '" . intval($_GET['reviews_id]) . "'
AND r.reviews_id = rd.reviews_id
AND rd.reviews_languages_id = '" . intval($nLanguageID) . "'
AND r.products_id = p.products_id
AND p.products_status >= '1'
AND p.products_id = pd.products_id
AND pd.products_languages_id = '" . intval($nLanguageID) . "'";[/mysql]
Änderungen sind an der PHP.ini nicht notwendig.
cu
ralf
Fatal error: Call to a member function on a non-object in /homepages/35/d13592529/htdocs/shop/includes/pages/reviews/product_info.php on line 57
[/quote]
Wir verwenden in der aktuellen MyOOS Version 1.6.x diese Datenbankabfrage:
[mysql] $sql = "SELECT rd.reviews_text, r.reviews_rating, r.reviews_id, r.products_id,
r.customers_name, r.date_added, r.last_modified, r.reviews_read,
p.products_id, pd.products_name, p.products_model, p.products_image
FROM " . $oosDBTable['reviews] . " r,
" . $oosDBTable['reviews_description] . " rd,
" . $oosDBTable['products] . " p,
" . $oosDBTable['products_description] . " pd
WHERE r.reviews_id = '" . intval($_GET['reviews_id]) . "'
AND r.reviews_id = rd.reviews_id
AND rd.reviews_languages_id = '" . intval($nLanguageID) . "'
AND r.products_id = p.products_id
AND p.products_status >= '1'
AND p.products_id = pd.products_id
AND pd.products_languages_id = '" . intval($nLanguageID) . "'";[/mysql]
Code: Alles auswählen
$reviews_result = $db->Execute($sql);
if (!$reviews_result->RecordCount()) oos_redirect(oos_link($aModules['reviews], $aFilename['reviews_reviews]));
$reviews = $reviews_result->fields;
cu
ralf