"Shop offline!" nach "Zahlungspflichtig bestellen" SMTP-Fehler?

Hallo,

unser Shop (V4.10.1) geht seit einigen Tagen direkt nach dem Drücken von “Zahlungspflichtig bestellen” sofort auf “Shop offline!” (/offline.html)

Der Shop ist bei 1und1 gehostet und ich vermute es liegt an den SMTP-Einstellungen, weder mit smtp.1und1.de noch mit leerem Eintrag geht was… (hat 1und1 da was geändert?)

Woran kann das liegen? Kann man irgendwo die Statusmeldungen auslesen?

Grüsse

Hallo Mirko,
kommt das offline immer egal welcher Einstellungen du bei SMTP vornimmst? Was steht in /log/EXCEPTION_LOG.txt Datei drin?

Wenn du “seit einigen Tage” schreibst gehe ich mal davon aus das es früher funktioniert hat. Was wurde den im Shop geändert, vor allem welcher Module sind denn dazugekommen?

Grüße
Rafig

Hallo,*

bis vor einigen Tagen hat das noch funktioniert - Änderungen am Shop habe ich seitdem nicht vorgenommen, außer auf Artikelebene.

sofort nach dem Drücken von “Zahlungspflichtig bestellen” geht der Shop auf “Shop offline!” (/offline.html)

Wahrscheinlich liegt es doch nicht an den SMTP-Einstellungen, ich habe jetzt mit leerem SMTP-Eintrag die “Passwort Vergessen”-Funktion getestet und diese emails werden versandt (da kommt sofort auch die Meldung “Passwort wurde verschickt an:*”). Trage ich SMTP-Zugangsdaten ein geht auch diese Funktion nicht…

Laut Logfile liegt es wohl eher an der SQL-Datenbank? Woran kann das liegen dass der Shop offline geht und keine Bestellungen abgeschlossen werden können?

Das Logfile sagt folgendes:

oxConnectionException-oxException (time: 2016-10-23 10:11:19): [1064]: mysqli error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘varchar (100) not null = ‘’’ at line 1] in EXECUTE (Insert into oxorder set oxid = ‘ecf6e05ea66c11699c2228ce7531ef64’,oxshopid = ‘oxbaseshop’,oxuserid = ‘45aa797ece06ce4ae354a5efb99df7a3’,oxorderdate = ‘2016-10-23 10:11:19’,oxordernr = ‘0’,oxbillcompany = ‘’,oxbillemail = [email protected]’,oxbillfname = ‘fnfdn’,oxbilllname = ‘dfbdfbhdfbhdf’,oxbillstreet = ‘dgdgdg’,oxbillstreetnr = ‘2’,oxbilladdinfo = ‘’,oxbillustid = ‘’,oxbillcity = ‘Berlin’,oxbillcountryid = ‘8f241f11096877ac0.98748826’,oxbillstateid = ‘LA’,oxbillzip = ‘12345’,oxbillfon = ‘’,oxbillfax = ‘’,oxbillsal = ‘MR’,oxdelcompany = ‘’,oxdelfname = ‘’,oxdellname = ‘’,oxdelstreet = ‘’,oxdelstreetnr = ‘’,oxdeladdinfo = ‘’,oxdelcity = ‘’,oxdelcountryid = ‘’,oxdelstateid = ‘’,oxdelzip = ‘’,oxdelfon = ‘’,oxdelfax = ‘’,oxdelsal = ‘’,oxpaymentid = ‘fe7ab5ca59b74b130b3c07944ad4a6de’,oxpaymenttype = ‘oxidpayadvance’,oxtotalnetsum = ‘50’,oxtotalbrutsum = ‘50’,oxtotalordersum = ‘95’,oxartvat1 = ‘0’,oxartvatprice1 = ‘0’,oxartvat2 = ‘0’,oxartvatprice2 = ‘0’,oxdelcost = ‘45’,oxdelvat = ‘0’,oxpaycost = ‘0’,oxpayvat = ‘0’,oxwrapcost = ‘0’,oxwrapvat = ‘0’,oxgiftcardcost = ‘0’,oxgiftcardvat = ‘0’,oxcardid = ‘’,oxcardtext = ‘’,oxdiscount = ‘0’,oxexport = ‘0’,oxbillnr = ‘’,oxbilldate = ‘0000-00-00’,oxtrackcode = ‘’,oxsenddate = ‘0000-00-00 00:00:00’,oxremark = ‘’,oxvoucherdiscount = ‘0’,oxcurrency = ‘EUR’,oxcurrate = ‘1.00’,oxfolder = ‘ORDERFOLDER_NEW’,oxtransid = ‘’,oxpayid = ‘’,oxxid = ‘’,oxpaid = ‘0000-00-00 00:00:00’,oxstorno = ‘0’,oxip = ‘84.133.91.193’,oxtransstatus = ‘NOT_FINISHED’,oxlang = ‘0’,oxinvoicenr = ‘0’,oxdeltype = ‘oxidstandard’,oxtsprotectid = ‘’,oxtsprotectcosts = ‘0’,oxisnettomode = ‘1’,mo_viaebay__via_id = null,mo_viaebay__last_sync = ‘’,mo_viaebay__shipping_state = null,mo_viaebay__payment_state = null,pbtpuitxt = ‘’,ebayorder_id = ‘’,ebay_complete = ‘’,ebay_last_modified = ‘’,ebay_remove = ‘’,ebay_user = ‘’,ebay_message = ‘’,oxtrackidstatus = ‘’,oxpaidstatus = ‘’,oxsenddatestatus = ‘’,externaltransactionid = null,ebaypaystatus = ‘’,ebaysendstatus = ‘’,ebayorder_nr = ‘’,externaltransactionid varchar (100) not null = ‘’, Array) with user dbo612546xxx

Stack Trace: #0 /homepages/33/d37964612/htdocs/webshop/core/adodblite/adodbSQL_drivers/mysqli/mysqli_driver.inc(359): adodb_throw(‘mysqli’, ‘EXECUTE’, 1064, ‘You have an err…’, ‘Insert into oxo…’, Array, Object(object_ADOConnection))
#1 /homepages/33/d37964612/htdocs/webshop/core/adodblite/adodb.inc.php(316): mysqli_driver_ADOConnection->do_query(‘Insert into oxo…’, -1, -1, Array)
#2 /homepages/33/d37964612/htdocs/webshop/core/oxlegacydb.php(169): ADOConnection->Execute(‘Insert into oxo…’, Array)
#3 /homepages/33/d37964612/htdocs/webshop/core/oxbase.php(1430): oxLegacyDb->execute(‘Insert into oxo…’)
#4 /homepages/33/d37964612/htdocs/webshop/application/models/oxorder.php(1277): oxBase->_insert()
#5 /homepages/33/d37964612/htdocs/webshop/core/oxbase.php(852): oxOrder->_insert()
#6 /homepages/33/d37964612/htdocs/webshop/application/models/oxorder.php(1175): oxBase->save()
#7 /homepages/33/d37964612/htdocs/webshop/application/models/oxorder.php(544): oxOrder->save()
#8 /homepages/33/d37964612/htdocs/webshop/application/controllers/order.php(248): oxOrder->finalizeOrder(Object(oxBasket), Object(oxUser))
#9 /homepages/33/d37964612/htdocs/webshop/core/oxview.php(522): order->execute()
#10 /homepages/33/d37964612/htdocs/webshop/core/oxshopcontrol.php(355): oxView->executeFunction(‘execute’)
#11 /homepages/33/d37964612/htdocs/webshop/core/oxshopcontrol.php(126): oxShopControl->_process(‘order’, ‘execute’, NULL, NULL)
#12 /homepages/33/d37964612/htdocs/webshop/core/oxid.php(40): oxShopControl->start()
#13 /homepages/33/d37964612/htdocs/webshop/index.php(26): Oxid::run()
#14 {main}

Connection Adress -->
Connection Error -->

Grüsse

Ok.

  1. Schaue mal in config.inc.php rein. Steht dort “mysql” oder “mysqli” drin. Wenn “mysqli” welcher PHP version hast du denn aktuell?

  2. Du hast einen Ebay-Modul. Deaktiviere Ihn und probiere es noch einmal.

Grüße
Rafig

Hallo,

das EXONN-eBay-Modul ist deaktiviert.

PHP-Version ist: 5.6.27

In der config.inc.php steht:

$this->dbType = ‘mysqli’;

Grüsse

ändere das auf “mysql”, leere cache und probiere es noch einmal.

Hi,

danke für die Antworten - habe das von mysqli auf mysql geändert, den tmp-ordner geleert, den browsercache geleert, views upgedatet aber nach “Bestellen” kommt immer noch sofort “Shop offline”.

Was kann ich denn aus dem logfile entnehmen?

oxConnectionException-oxException (time: 2016-10-23 17:31:27): [1064]: mysqli error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘varchar (100) not null = ‘’’ at line 1] in EXECUTE (Insert into oxorder set oxid = ‘ecf6e05ea66c11699c2228ce7531ef64’,oxshopid = ‘oxbaseshop’,oxuserid = ‘6f97234a6adca00cf6bb86297f5ba971’,oxorderdate = ‘2016-10-23 17:31:27’,oxordernr = ‘0’,oxbillcompany = ‘’,oxbillemail = ‘[email protected]’,oxbillfname = ‘fnfdn’,oxbilllname = ‘dfbdfbhdfbhdf’,oxbillstreet = ‘dgdgdg’,oxbillstreetnr = ‘2’,oxbilladdinfo = ‘’,oxbillustid = ‘’,oxbillcity = ‘Berlin’,oxbillcountryid = ‘a7c40f631fc920687.20179984’,oxbillstateid = ‘’,oxbillzip = ‘12345’,oxbillfon = ‘’,oxbillfax = ‘’,oxbillsal = ‘MR’,oxdelcompany = ‘’,oxdelfname = ‘’,oxdellname = ‘’,oxdelstreet = ‘’,oxdelstreetnr = ‘’,oxdeladdinfo = ‘’,oxdelcity = ‘’,oxdelcountryid = ‘’,oxdelstateid = ‘’,oxdelzip = ‘’,oxdelfon = ‘’,oxdelfax = ‘’,oxdelsal = ‘’,oxpaymentid = ‘6f288f683a07c421280b442ddcd06a20’,oxpaymenttype = ‘oxidpayadvance’,oxtotalnetsum = ‘50’,oxtotalbrutsum = ‘59.5’,oxtotalordersum = ‘95.2’,oxartvat1 = ‘19’,oxartvatprice1 = ‘9.5’,oxartvat2 = ‘0’,oxartvatprice2 = ‘0’,oxdelcost = ‘35.7’,oxdelvat = ‘19’,oxpaycost = ‘0’,oxpayvat = ‘0’,oxwrapcost = ‘0’,oxwrapvat = ‘0’,oxgiftcardcost = ‘0’,oxgiftcardvat = ‘19’,oxcardid = ‘’,oxcardtext = ‘’,oxdiscount = ‘0’,oxexport = ‘0’,oxbillnr = ‘’,oxbilldate = ‘0000-00-00’,oxtrackcode = ‘’,oxsenddate = ‘0000-00-00 00:00:00’,oxremark = ‘’,oxvoucherdiscount = ‘0’,oxcurrency = ‘EUR’,oxcurrate = ‘1.00’,oxfolder = ‘ORDERFOLDER_NEW’,oxtransid = ‘’,oxpayid = ‘’,oxxid = ‘’,oxpaid = ‘0000-00-00 00:00:00’,oxstorno = ‘0’,oxip = ‘84.133.102.25’,oxtransstatus = ‘NOT_FINISHED’,oxlang = ‘0’,oxinvoicenr = ‘0’,oxdeltype = ‘oxidstandard’,oxtsprotectid = ‘’,oxtsprotectcosts = ‘0’,oxisnettomode = ‘1’,mo_viaebay__via_id = null,mo_viaebay__last_sync = ‘’,mo_viaebay__shipping_state = null,mo_viaebay__payment_state = null,pbtpuitxt = ‘’,ebayorder_id = ‘’,ebay_complete = ‘’,ebay_last_modified = ‘’,ebay_remove = ‘’,ebay_user = ‘’,ebay_message = ‘’,oxtrackidstatus = ‘’,oxpaidstatus = ‘’,oxsenddatestatus = ‘’,externaltransactionid = null,ebaypaystatus = ‘’,ebaysendstatus = ‘’,ebayorder_nr = ‘’,externaltransactionid varchar (100) not null = ‘’, Array) with user dbo612546xxx

Stack Trace: #0 /homepages/33/d37964612/htdocs/webshop/core/adodblite/adodbSQL_drivers/mysqli/mysqli_driver.inc(359): adodb_throw(‘mysqli’, ‘EXECUTE’, 1064, ‘You have an err…’, ‘Insert into oxo…’, Array, Object(object_ADOConnection))
#1 /homepages/33/d37964612/htdocs/webshop/core/adodblite/adodb.inc.php(316): mysqli_driver_ADOConnection->do_query(‘Insert into oxo…’, -1, -1, Array)
#2 /homepages/33/d37964612/htdocs/webshop/core/oxlegacydb.php(169): ADOConnection->Execute(‘Insert into oxo…’, Array)
#3 /homepages/33/d37964612/htdocs/webshop/core/oxbase.php(1430): oxLegacyDb->execute(‘Insert into oxo…’)
#4 /homepages/33/d37964612/htdocs/webshop/application/models/oxorder.php(1277): oxBase->_insert()
#5 /homepages/33/d37964612/htdocs/webshop/core/oxbase.php(852): oxOrder->_insert()
#6 /homepages/33/d37964612/htdocs/webshop/application/models/oxorder.php(1175): oxBase->save()
#7 /homepages/33/d37964612/htdocs/webshop/application/models/oxorder.php(544): oxOrder->save()
#8 /homepages/33/d37964612/htdocs/webshop/application/controllers/order.php(248): oxOrder->finalizeOrder(Object(oxBasket), Object(oxUser))
#9 /homepages/33/d37964612/htdocs/webshop/core/oxview.php(522): order->execute()
#10 /homepages/33/d37964612/htdocs/webshop/core/oxshopcontrol.php(355): oxView->executeFunction(‘execute’)
#11 /homepages/33/d37964612/htdocs/webshop/core/oxshopcontrol.php(126): oxShopControl->_process(‘order’, ‘execute’, NULL, NULL)
#12 /homepages/33/d37964612/htdocs/webshop/core/oxid.php(40): oxShopControl->start()
#13 /homepages/33/d37964612/htdocs/webshop/index.php(26): Oxid::run()
#14 {main}

Connection Adress -->
Connection Error -->

Gruß

Hallo Mirko,
die stelle sorgt in SQL-query für den Fehler:


externaltransactionid varchar (100) not null = ''

Hier wird versucht ein neues Feld in die Datenbank hinzufügen und das jedes mal. Du sagst Ebay Modul wäre Inaktiv, woher kommt den das? Was kommt wenn du das hier ausführst?


alter table oxorder add column externaltransactionid varchar (100) not null;

Grüße
Rafig

Hi,

das EXONN-eBay-Modul ist deaktiviert - sollte ich das evtl. erstmal komplett löschen (den ganzen Ordner in /module)?

Den angegebenen Code habe ich ausgeführt - Ergebnis:

SQL query (1) :
alter table oxorder add column externaltransactionid varchar (100) not null
Error message : Duplicate column name 'externaltransactionid’
Error number : 1060

Gruß

Nein, nein. Löschen musst du das Modul nicht. Aber du siehst jetzt warum keine Bestellungen angelegt werden.

Das Feld “externaltransactionid” in der Tabelle oxorder existiert bereits. Beim abschicken der Bestellung versucht das “veränderte” query das Feld erneut anzulegen was nicht klappt.

Jetzt ist die Frage, hast du sonst ein anderes Modul die Bestellungen beeinflussen konnten. Wenn ja, deaktiviere auch diesen und versuche erneut.

Ich schätze wenn du das hier ausführst wird die Bestellung angenommen:


Insert into oxorder set oxid = 'ecf6e05ea66c11699c2228ce7531ef64',oxshopid = 'oxbaseshop',oxuserid = '45aa797ece06ce4ae354a5efb99df7a3',oxorderdate = '2016-10-23 10:11:19',oxordernr = '0',oxbillcompany = '',oxbillemail = '[email protected]',oxbillfname = 'fnfdn',oxbilllname = 'dfbdfbhdfbhdf',oxbillstreet = 'dgdgdg',oxbillstreetnr = '2',oxbilladdinfo = '',oxbillustid = '',oxbillcity = 'Berlin',oxbillcountryid = '8f241f11096877ac0.98748826',oxbillstateid = 'LA',oxbillzip = '12345',oxbillfon = '',oxbillfax = '',oxbillsal = 'MR',oxdelcompany = '',oxdelfname = '',oxdellname = '',oxdelstreet = '',oxdelstreetnr = '',oxdeladdinfo = '',oxdelcity = '',oxdelcountryid = '',oxdelstateid = '',oxdelzip = '',oxdelfon = '',oxdelfax = '',oxdelsal = '',oxpaymentid = 'fe7ab5ca59b74b130b3c07944ad4a6de',oxpaymenttype = 'oxidpayadvance',oxtotalnetsum = '50',oxtotalbrutsum = '50',oxtotalordersum = '95',oxartvat1 = '0',oxartvatprice1 = '0',oxartvat2 = '0',oxartvatprice2 = '0',oxdelcost = '45',oxdelvat = '0',oxpaycost = '0',oxpayvat = '0',oxwrapcost = '0',oxwrapvat = '0',oxgiftcardcost = '0',oxgiftcardvat = '0',oxcardid = '',oxcardtext = '',oxdiscount = '0',oxexport = '0',oxbillnr = '',oxbilldate = '0000-00-00',oxtrackcode = '',oxsenddate = '0000-00-00 00:00:00',oxremark = '',oxvoucherdiscount = '0',oxcurrency = 'EUR',oxcurrate = '1.00',oxfolder = 'ORDERFOLDER_NEW',oxtransid = '',oxpayid = '',oxxid = '',oxpaid = '0000-00-00 00:00:00',oxstorno = '0',oxip = '84.133.91.193',oxtransstatus = 'NOT_FINISHED',oxlang = '0',oxinvoicenr = '0',oxdeltype = 'oxidstandard',oxtsprotectid = '',oxtsprotectcosts = '0',oxisnettomode = '1',mo_viaebay__via_id = null,mo_viaebay__last_sync = '',mo_viaebay__shipping_state = null,mo_viaebay__payment_state = null,pbtpuitxt = '',ebayorder_id = '',ebay_complete = '',ebay_last_modified = '',ebay_remove = '',ebay_user = '',ebay_message = '',oxtrackidstatus = '',oxpaidstatus = '',oxsenddatestatus = '',externaltransactionid = null,ebaypaystatus = '',ebaysendstatus = '',ebayorder_nr = '',externaltransactionid = '';

Grüße
Rafig

Hi,

Ich habe alle Module deaktiviert, außer “oxid eshop theme switch” - trotzdem der Fehler…

Die Module Viaebay und Exonn-ebay hatte ich nur testweise installiert und wieder deaktiviert - aber anscheinend treiben die noch immer ihr Unwesen… - nur wo kann man dies komplett wieder abschalten?

wenn ich diesen Code ausführe kommt folgende Meldung:

SQL query (1) : Insert into oxorder set oxid = ‘ecf6e05ea66c11699c2228ce7531ef64’,oxshopid =
‘oxbaseshop’,oxuserid = ‘45aa797ece06ce4ae354a5efb99df7a3’,oxorderdate =
'2016-10-23 10:…

Error message : Column ‘externaltransactionid’ specified twice

Error number : 1110

Gruß

Ok, aber das hier müsste passen:


Insert into oxorder set oxid = 'ecf6e05ea66c11699c2228ce7531ef64',oxshopid = 'oxbaseshop',oxuserid = '45aa797ece06ce4ae354a5efb99df7a3',oxorderdate = '2016-10-23 10:11:19',oxordernr = '0',oxbillcompany = '',oxbillemail = '[email protected]',oxbillfname = 'fnfdn',oxbilllname = 'dfbdfbhdfbhdf',oxbillstreet = 'dgdgdg',oxbillstreetnr = '2',oxbilladdinfo = '',oxbillustid = '',oxbillcity = 'Berlin',oxbillcountryid = '8f241f11096877ac0.98748826',oxbillstateid = 'LA',oxbillzip = '12345',oxbillfon = '',oxbillfax = '',oxbillsal = 'MR',oxdelcompany = '',oxdelfname = '',oxdellname = '',oxdelstreet = '',oxdelstreetnr = '',oxdeladdinfo = '',oxdelcity = '',oxdelcountryid = '',oxdelstateid = '',oxdelzip = '',oxdelfon = '',oxdelfax = '',oxdelsal = '',oxpaymentid = 'fe7ab5ca59b74b130b3c07944ad4a6de',oxpaymenttype = 'oxidpayadvance',oxtotalnetsum = '50',oxtotalbrutsum = '50',oxtotalordersum = '95',oxartvat1 = '0',oxartvatprice1 = '0',oxartvat2 = '0',oxartvatprice2 = '0',oxdelcost = '45',oxdelvat = '0',oxpaycost = '0',oxpayvat = '0',oxwrapcost = '0',oxwrapvat = '0',oxgiftcardcost = '0',oxgiftcardvat = '0',oxcardid = '',oxcardtext = '',oxdiscount = '0',oxexport = '0',oxbillnr = '',oxbilldate = '0000-00-00',oxtrackcode = '',oxsenddate = '0000-00-00 00:00:00',oxremark = '',oxvoucherdiscount = '0',oxcurrency = 'EUR',oxcurrate = '1.00',oxfolder = 'ORDERFOLDER_NEW',oxtransid = '',oxpayid = '',oxxid = '',oxpaid = '0000-00-00 00:00:00',oxstorno = '0',oxip = '84.133.91.193',oxtransstatus = 'NOT_FINISHED',oxlang = '0',oxinvoicenr = '0',oxdeltype = 'oxidstandard',oxtsprotectid = '',oxtsprotectcosts = '0',oxisnettomode = '1',mo_viaebay__via_id = null,mo_viaebay__last_sync = '',mo_viaebay__shipping_state = null,mo_viaebay__payment_state = null,pbtpuitxt = '',ebayorder_id = '',ebay_complete = '',ebay_last_modified = '',ebay_remove = '',ebay_user = '',ebay_message = '',oxtrackidstatus = '',oxpaidstatus = '',oxsenddatestatus = '',externaltransactionid = null,ebaypaystatus = '',ebaysendstatus = '',ebayorder_nr = '';

Ich kenne deine Module nicht. Aber in der Regel ist das so wenn du in den einzelnen (PHP) Dateien keine Änderungen vorgenommen hast und alles im Shop Modular umgesetzt ist reicht einfach aus Module zu deaktivieren und Cache zu leeren.

In deinem Fall würde ich eine Suche auf Datei ebene starten und exakt danach suchen “externaltransactionid”. Das würde dich dann schnell voran bringen.

Grüße
Rafig

Hi,

mit dem Code bekomme ich folgende (positive) Rückmeldung:
SQL query (1) : Insert into oxorder set oxid = ‘ecf6e05ea66c11699c2228ce7531ef64’,oxshopid =
‘oxbaseshop’,oxuserid = ‘45aa797ece06ce4ae354a5efb99df7a3’,oxorderdate =
'2016-10-23 10:…

Affected rows : 1

Auf Dateiebene habe ich schon nach externaltransactionid gesucht, außer in der SQL-Datenbank ist dieser String nur hier auffindbar:

\log\EXCEPTION_LOG.txt
mp\oxpec_fieldnames_oxorder_allviews.txt
mp\oxpec_langcache_1_0_oxbaseshop_hamburg_default.txt
mp\oxpec_oxorder_allfields_.txt
mp\oxpec_oxorder_allfields_1.txt

“Cache leeren” meint den Browser-Cache oder den tmp-Ordner?

Gruß

Ok. Das heißt eine Bestellung wurde erfolgreich angelegt.

Cache leeren heißt Inhalt dieser Ordner bis auf die Datei “.htaccess” leeren:

/tmp/smarty/
/tmp/

Views Aktualisieren und Browser-Cache leeren.

Grüße
Rafig

Hi,

das habe ich alles gemacht:

  • Module deaktiviert
  • tmp und smarty-Ordner geleert
  • views aktualisiert
  • browser-cache gelöscht

Das Ergebnis ist immer noch: “shop offline”

komisch…- aber nicht zum Lachen

Grüsse

Das ist mir schon klar aber irgendwoher musst doch das herkommen. Lass mir die Daten kommen und ich schaue kurz rein.

Grüße
Rafig