Ups - hätte gestern abend den Vodka weglassen sollen. Sorry mein Fehler - kleine Änderung im Code notwendig im Bereich der if abfragen
!== false fehlte dort
Code:
//Sendungsverfolgungslinks
$versand_query = eS_execute_query("select * from orders_total where class=\"ot_shipping\" and orders_id=".intval($_POST['KeyBestellung']));
$total_pos = mysql_fetch_object($versand_query);
if (strpos($total_pos['title'],"UPS") !== false) {
define ('DHL_LINK_IN_MAIL_EINBAUEN',0);
define ('UPS_LINK_IN_MAIL_EINBAUEN',1);
define ('DPD_LINK_IN_MAIL_EINBAUEN',0);}
elseif (strpos($total_pos['title'],"DHL") !== false) {
define ('DHL_LINK_IN_MAIL_EINBAUEN',1);
define ('UPS_LINK_IN_MAIL_EINBAUEN',0);
define ('DPD_LINK_IN_MAIL_EINBAUEN',0);};
Hallo Bobby,
strpos vergleicht zwei Zeichenketten miteinander und gibt zwei Ergebnisse zurück, zum Einen ob die gesuchte Zeichenkette überhaupt in der anderen Zeichenkette vorhanden ist und wenn, wie deren erste Position ist. Wir bruachen jedoch nur wissen ob es überhaupt vorkommt
XTC sowie OSC schreiben bei der Kaufabwicklung in die Tabelle orders_total die jeweilige im Auftrag vorkommenden Module (hier zum Beispiel ot_shipping), deren Betrag und Bezeichnung (title) rein.
Die EIngangsbestätigung, die der Kunde dann erhält, führt zum Beispiel dann im unter den einzelnen Positionen auf
Zwischensumme: 61,31€
DHL Paket [DE]: 5,50€ <-- (ot_shipping title)
Summe [incl. MwSt] : 66,81€
Was macht der
Connector nun. Er prüft, ob der Status sich geändert hat und ob ein Versanddatum übergeben wurde. Wenn dem so ist, holt er aus der XTC (OSC) Datenbank - dort aus der Tabelle orders_total - die Zeichenkette des Auftrages (orders_is) zu dem Versandmodul (ot_shipping), das den Textteil (title) hier im Beispiel eben "DHL Paket [DE]" enthält.
Danach wird eine Abfrage gestartet, die eben diesen Teil mit einer Zeichenkette, die Du selber vorgibst vergleicht.
if (strpos($total_pos['title'],"xxx") !== false)
wird demnach in der Abfrage automatich zu zu
trifft nicht zu ->> if (strpos("DHL Paket [DE]","UPS") !== false) {
define ('DHL_LINK_IN_MAIL_EINBAUEN',0);
define ('UPS_LINK_IN_MAIL_EINBAUEN',1);
define ('DPD_LINK_IN_MAIL_EINBAUEN',0);}
trifft zu ->> elseif (strpos("DHL Paket [DE]","DHL") !== false) {
define ('DHL_LINK_IN_MAIL_EINBAUEN',1);
define ('UPS_LINK_IN_MAIL_EINBAUEN',0);
define ('DPD_LINK_IN_MAIL_EINBAUEN',0);};
Da in dem Beispiel UPS nicht in der Zeichenkette DHL Paket [DE] vorkommt liefert die Abfrage FALSCH als Ergebniss und prüft die elseif Abfrage die, da DHL vorkommt RICHTIG liefert und die darunter stehenden Variablen danach definiert wie Sie für die Versandemail benötigt werden.
wenn DHL dann setzte alle ausser DHL auf 0 und DHL auf 1
und der übermittelte Trackingcode in den richtigen Part integriert
Hoffe das es nun nach klarem Kopf "klarer" wird ... wobei ich könnt doch schon wieder
[/code]