ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
385
385
EMPFEHLEN
-
Hallo,
ich habe da ein kleines aber dennoch gravierendes Problem beim auslesen einer Mail von ebay.
So sieht die Mail aus:
Bitte beachten Sie, dass es sich bei
dieser E-Mail um eine vom System versendete Information handelt. Eine
Antwort auf diese E-Mail mittels ?Antwort? oder der Antwort-Funktion
Ihres Mailprogramms ist nicht möglich. Bei Fragen an unseren
Kundenservice klicken Sie bitte auf den folgenden Link oder kopieren Sie
ihn in Ihren Browser:
http://pages.ebay.de/help/basics/select-support.html
-----------------------------------------------------------------
Herzlichen Glückwunsch blablub!
-----------------------------------------------------------------
Hallo blablub,
xxx hat am 28.02.04 20:38:50 MEZ den folgenden Artikel über eBay
erworben:
Wenn Sie Versandkosten oder andere
Gebühren auflisten möchten, senden
Sie diese Informationen bitte an den Käufer
http://cgi3.ebay.de/aw-cgi/eBayISAPI...llerUpdateDeta
ils&itemId=2383070122&transId=0&buyerid=0&ssPageName=ADME:L:EOAS
E:1
-----------------------------------------------------------------
KONTAKTDATEN
-----------------------------------------------------------------
Mitgliedsname: xxx
Name: xxx xxx
Straße: xxx xxx
Ort: xxxxx xxx
Land: Deutschland
-----------------------------------------------------------------
ANGABEN ZUM ARTIKEL
-----------------------------------------------------------------
Artikelbezeichnung: Artikel halt
Artikelnummer: 1234567890
Angebotsende: 28.02.04 20:38:50 MEZ
Anzahl der Gebote: 5
Verkäufer: blablub:
mailto:verkaeufer@mail.de
Käufer: xxx: mailto:kaeufer@mail.de
-----------------------------------------------------------------
Einzelheiten zur Bezahlung:
-----------------------------------------------------------------
Artikelpreis: EUR 99,99
Menge: 1
Betrag: EUR 99,99*
Verpackung & Versand:
Versicherter Versand: EUR 11,00
Ihre Zahlungshinweise an den Käufer:
[nicht angegeben]
Jetzt zum Problem. Ich möchte die relevanten Daten aus der Mail auslesen und in eine Datenbank speichern. Klappt auch prima, bis auf die Versandkosten (egal ob Versicherter Versand oder Verpackung & Versand).
Folgende Zeile liest z.B. die Artikelnummer aus:
Bei den versandkosten habe ich das so gemacht:PHP-Code:$art_nr = trim(strtok(substr($mail, strpos($mail, 'Artikelnummer: ')+strlen('Artikelnummer: ')), "\n"));
Seltsamerweise kommt aber immer nur folgendes bei "echo $versand" raus:PHP-Code:$versand = trim(str_replace("EUR ", "", strtok(substr($mail, strpos($mail, 'Versicherter Versand: ')+strlen('Versicherter Versand: ')), "\n")));
0.00
In der Datenbank habe ich den Datensatz als "decimal 15,2" deklariert (mit standard 0.00).
Er kommt einfach nicht an die VKosten dran, warum auch immer
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
finest asian food
-
Erstmal können wir davon ausgehen, dass er nichts in die Datenbank einfügt, daher greift der Defaultwert.
Versuch doch einfach mal neTestausgabe per
zu machen, was bekommste da zurück?PHP-Code:echo $versand;
-
Hi,
ersetz mal das Komma durch nen Punkt
Gruß German
-
Welches Komma soll ich ersetzen... ?
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
finest asian food
-
Versicherter Versand: EUR 11,00Original geschrieben von mC pAiN
Welches Komma soll ich ersetzen... ?
...........................................^ das KommaGruß German
-
Erm... Wie soll ich das ersetzen? Das ist Part der Mail und so von ebay festgelegt. Und daran wirds nicht liegen, weil es beim Artikelpreis auch klappt.
Ich denke, ich habe eine neue Ahnung woran es liegen könnte:
Die Versandkosten sind der einzige "Part", wo 2 Wörter (siehe: "Versicherter Versand") - also mit Leerzeichen - vorkommen. Muss ich evtl. beim strpos und strlen nicht "Versicherter Versand: " sondern "VersicherterVersand: " nehmen wegen dem trim() ?Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
finest asian food
-
30.07.04 11:47 #7
Ich denke nicht dass es daran liegt, weil trim() ist ja ganz aussen und wird somit erst ausgeführt wenn alle andere ausgeführt wurden...Aber probier es doch mal, gibt ja nichts zu tun und die Lösung hättest du schon lange wenn du es anstatt hier gefragt, einfach gemacht hättest...
MfG AqUaSoN!C
o Wie man richtig Fragen stellt o
o Nicht in Problemen sondern in Lösungen denken! o
o Es gibt 2 Dinge, die sind unendlich: das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir noch nicht ganz sicher. o
> Meine Linksammlung > http://linksys.aquasonic.ch
> Mein Wiki > http://wiki.aquasonic.ch
-
Ich hätte ja auch schon lange gemacht, aber leider hab ich gerade keine eBay Mail zur Hand. Das ganze wird mittels CronJob ausgelesen und die entsprechenden Mails direkt gelöscht... Sonst hätte ich sozusagen eine Endlosschleife. Vielleicht kann ich heute Abend wenn wieder eine Auktion endet, testen...
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
finest asian food
-
Du versuchst in ein "decimal 15,2"-Feld eine Zahl mit Komma einzutragen, wäre mir neu, dass das korrekt funktioniert. Aber wenns beim Artikelpreis auch klappt pass doch den an.Original geschrieben von mC pAiN
Erm... Wie soll ich das ersetzen? Das ist Part der Mail und so von ebay festgelegt. Und daran wirds nicht liegen, weil es beim Artikelpreis auch klappt.
Ich habe auch eine neue Ahnung woran es noch liegen könnte, versuch das mal:
PHP-Code:$versand = trim(str_replace(",", ".", strtok(substr($mail, strpos($mail, 'Versicherter Versand: EUR')+strlen('Versicherter Versand: EUR')), "\n")));
Gruß German
-
Ok, werde das ganze mal testen.
Vielen Dank für eure Ratschläge. Werde euch auf dem laufenden halten...Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
finest asian food
-
So, hatte gestern eine beendete Auktion. Habe gesehen, dass die Mail von eBay doch noch etwas anders aussieht. Hatte eine etwas ältere vorher als Vorlage:
Hier die korrekte Mail:
Bitte beachten Sie. dass es sich bei dieser E-Mail um eine vom System
versendete Information handelt. Eine Antwort auf diese E-Mail mittels
?Antwort? oder der Antwort-Funktion Ihres
Mailprogramms ist nicht möglich. Bei Fragen an unseren Kundenservice klick
en Sie bitte auf den folgenden Link oder kopieren Sie ihn in Ihren
Browser:
http://pages.ebay.de/help/basics/select-support.html
-----------------------------------------------------------------
Herzlichen Glückwunsch xxx!
-----------------------------------------------------------------
Hallo xxx.
xxx hat am 31.07.04 20:55:49 MESZ den folgenden Artikel über eBay
erworben:
Damit Ihre zukünftigen Käufer rasch und einfach per Überweisung bezahlen
können. geben Sie bitte Ihre Bankkontodaten für Überweisung Plus an.
-----------------------------------------------------------------
KONTAKTDATEN
-----------------------------------------------------------------
Mitgliedsname: xxx
Name: xxx
Straße: xxx xx
Ort: xxxxx xxx
Land: Deutschland
-----------------------------------------------------------------
ANGABEN ZUM ARTIKEL
-----------------------------------------------------------------
Artikelbezeichnung: Artikel halt
Artikelnummer: 1234567890
Angebotsende: 31.07.04 20:55:49 MESZ
Anzahl der Gebote: 1
Verkäufer: xxx: mailto:verkaeufer@mail.de
Käufer: xxx: mailto:kaeufer@mail.de
-----------------------------------------------------------------
Einzelheiten zur Bezahlung:
-----------------------------------------------------------------
Artikelpreis: EUR 55.00
Menge: 1
Betrag: EUR 55.00
Verpackung & Versand:
Versicherter Versand: EUR 10.00
Versandversicherung pro Artikel:
Ihre Zahlungshinweise an den Käufer:
[nicht angegeben]
...
Und hier mal das, was er bei "$versand" ausgibt:
Keine Ahnung warum. Ich werd jetzt mal den letzten Vorschlag benutzen. Obwohl ich sehe gerade, dass bei den Beträgen in der Mail ja jetzt ein "." zwischen den Zahlen ist. Deshalb klappt das auch mit der Datenbankdass es sich bei dieser E-Mail um eine vom System
// edit:
Wenn ich mir die Mail mit Outlook anschaue, dann sind hinter "Versicherter Versand:" mehr Leerzeichen als eins. Soll ich lieber noch ein trim() einbauen und dann "VersicherterVersand:EUR" machen oder ist das egal?Geändert von mC pAiN (01.08.04 um 11:22 Uhr)
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
finest asian food
Ähnliche Themen
-
mail() - Inhalt der Mail aus einer Datei auslesen, mit Daten aus der db füllen
Von schultze im Forum PHPAntworten: 3Letzter Beitrag: 27.01.07, 18:35 -
fehler bei tutorials ? fehler beim löschen einer zeile aus einer txt
Von -GS-Master im Forum PHPAntworten: 5Letzter Beitrag: 20.02.06, 19:36 -
Fehler beim auslesen von Daten aus einer Datenbank
Von Samson1802 im Forum PHPAntworten: 2Letzter Beitrag: 19.09.05, 18:03 -
Fehler beim auslesen einer Datenbank mit PHP :(
Von Suchfunktion im Forum PHPAntworten: 5Letzter Beitrag: 01.07.05, 07:49 -
Fehler beim Auslesen einer Exceldatei
Von TOLIK im Forum .NET ArchivAntworten: 0Letzter Beitrag: 18.10.04, 12:04





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren