Warning: reset() [function.reset]: Passed variable is not an

Alles rund ums PayPal im XT Commerce Shop
Antworten
Gunah
Beiträge: 5
Registriert: Do 19. Mär 2009, 10:20

Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Gunah » Do 19. Mär 2009, 11:17

ich hab das Modul eingebaut in dem ich mit WinMerge verglichen habe.
leider bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Warning: reset() [function.reset]: Passed variable is not an array or object in /includes/modules/order_total/ot_tax.php on line 36

Warning: Variable passed to each() is not an array or object in /includes/modules/order_total/ot_tax.php on line 37

Warning: Cannot modify header information - headers already sent by (output started at /includes/modules/order_total/ot_tax.php:36) in /var/kunden/inc/xtc_redirect.inc.php on line 39
in dem bin ich auf den PayPal Checkout Button gegangen:
shopping_cart.php?action=paypal_express_checkout

der normale Checkout geht ohne Probleme?
hat einer eine Ahnung woran dies liegen kann, oder wo ich gucken könnte, die functionen die hier genannt werden, haben damit recht wenig zu tun... oder? außer das dort die werte die reinkommen leer sind, sprich var_dump = NULL

Gruß
Gunah

Michael
Administrator
Beiträge: 422
Registriert: Fr 2. Jan 2009, 12:13

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Michael » Do 19. Mär 2009, 11:47

Hallo Gunah,

ein "spannender" Fehler, den ich noch nicht hatte.
In der ot_tax.php wird in Zeile 36
reset($order->info['tax_groups']);
aufgerufen - $order->info['tax_groups'] ist offensichtlich nicht gesetzt - aus welchem Grund auch immer.
(Hast du keine Steuerklassen definiert?)
In Zeile 37 das gleiche Problem

Das führt zu einem PHP Warning, der jetzt ausgegeben wird - aber an dieser Stelle nicht darf, da dadurch der Header
jetzt gesetzt wird was dann wiederum dem xtc_redirect nicht schmeckt da er den Header gerne setzten möchte....

Du könntest das zwar in der /includes/application_top.php - Zeile 35 ca.
mit einem
error_reporting(E_ALL ^ E_NOTICE | E_WARNING);
oder
ini_set("display_errors", 0);
umgehen - aber das ist nicht die feine Art....
Sag mal Bescheid wie du die Steuerklassen bezogen auf die Kundengruppen definiert hast, damit ich diesen Fehler bei mir simulieren kann.
Viele Grüße - Michael

Gunah
Beiträge: 5
Registriert: Do 19. Mär 2009, 10:20

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Gunah » Do 19. Mär 2009, 13:01

habe gerade mal geguckt...

und zwar habe ich in der Datei:
includes/classes/paypal_checkout.php

in der function "paypal_auth_call()" ein var_dump($order); rein geklatscht...
und zurück kam: NULL

Brutto Admin = false
hier mal die Gruppe und den Artikel:
denke aber das der Fehler wo anders liegt...
http://dev.gunah.org/pp/1.gif http://dev.gunah.org/pp/2.gif

hier mal die Version wie ich Sie bisher verändert habe, nutze einen Fork.

ich denke ich habe bei den DIFFs irgendwas übersehen :-(
http://dev.gunah.org/xtc.zip

falls ein Kostenpflichtiger Support dafür nötig ist, bitte eine E-Mail an die Profil Adresse

Gruß
Gunah

Michael
Administrator
Beiträge: 422
Registriert: Fr 2. Jan 2009, 12:13

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Michael » Do 19. Mär 2009, 13:24

Ähh...

Was passiert, wenn du mein original paypal_checkout.php nimmst, in das du noch nichts einfach "reingeklatscht" hast?
Das Problem ist beim ot_tax - also Order Total nicht bei der Order.
Und auch nicht in dem /includes/classes/paypal_checkout.php.
Was ist ein "Fork"?
Wieso soll es ein Problem beim Artikel geben ? (Dein Bild)

Was erwartest Du von mir mit dem ZIP File?
Ein Fehler-Debugging ist nur im laufenden Shop sinnvoll.
Viele Grüße - Michael

Gunah
Beiträge: 5
Registriert: Do 19. Mär 2009, 10:20

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Gunah » Do 19. Mär 2009, 15:31

Fehler suche im Shop direkt ist es dann "kolanz" oder geht das in den Bereich, wo man was bezahlen muss?

weil dann richte ich das Teil heute abend mal so ein...
usw.

Michael
Administrator
Beiträge: 422
Registriert: Fr 2. Jan 2009, 12:13

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Michael » Do 19. Mär 2009, 15:48

"Kulanz" gibt es dort, wo man etwas gekauft/bezahlt hat. :-)
Hier gibt es keinen "Bereich wo man was bezahlen muss".

Wenn du mir per PN den FTP Zugang zu dem Shop sendest,
schau ich gerne mal rein, ob ich den Fehler in Deinem Shop finden kann -
natürlich genauso wie das Modul an sich - kostenlos.
Viele Grüße - Michael

Gunah
Beiträge: 5
Registriert: Do 19. Mär 2009, 10:20

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Gunah » Do 19. Mär 2009, 18:06

Habe dir dazu mit allem drum und dran mal eine E-Mail geschickt...
MySQL;FTP usw.

ist zwar ein Testshop aber dort tritt der Fehler auch auf...
Sandbox Daten sind schon hinterlegt kannst aber ändern...

EDIT://
vorgehensweise:
Artikel in der Warenkorb gelegt -> von dort aus, dann auf den PayPal Button im Warenkorb und rums (Fehler siehe oben)...

EDIT-2://
kannst dich darin komplett austoben, werde nur auf anfrage von dir da was machen...

dank dir :-D

Michael
Administrator
Beiträge: 422
Registriert: Fr 2. Jan 2009, 12:13

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Michael » Do 19. Mär 2009, 21:21

ok.
Es funktioniert jetzt - auch (sogar auch) in Eurem Shop...
Viele Grüße - Michael

Gunah
Beiträge: 5
Registriert: Do 19. Mär 2009, 10:20

Re: Warning: reset() [function.reset]: Passed variable is not an

Beitrag von Gunah » Do 19. Mär 2009, 22:43

danke für deine Hilfe :-D

das Problem war, das ich wohl ein schnipsel vom Uralt PayPal script drin hatte von den XTC leuten... :lol:

habe ich herrausgefunden, als ich zwischen deinen Daten und meinen Daten ein DIFF gemacht habe mit WinMerge :!: :idea:

es war zu einfach um gefunden zu werden :oops: :arrow:

in der cart_action.php stand folgendes:

Code: Alles auswählen

		case 'paypal_express_checkout' :
			$o_paypal -> paypal_auth_call();
			xtc_redirect($o_paypal -> payPalURL);
			break;
es muss aber so sein: :arrow:

Code: Alles auswählen

		case 'paypal_express_checkout' :
			$o_paypal -> paypal_express_auth_call();
			xtc_redirect($o_paypal -> payPalURL);
			break;
Gruß
Mathis

Antworten