Seite 1 von 1

Verfasst: 08.09.2010, 16:48
von mirko
Ja natürlich die Angaben sind Pflicht, sonst weiß er nicht wohin er es schreiben soll.

Verfasst: 08.09.2010, 15:40
von the_scrat
Hallo,

vielen Dank für die Anleitung.
Hatte grad die ganze Zeit zu Kämpfen mit der Fehlermeldung, dass keine Parameter angegeben wurden.

Problem ist jetzt gelöst. Natürlich muss auch MailingListId und FormId übergeben werden. Jetzt funktionierts!

Sehr geil!!! Dankeschön :o)

Verfasst: 07.09.2010, 20:47
von mirko
Nachtrag: Die übergebenen Daten müssen mit der Zeichencodierung UTF-8 übergeben werden, sonst stimmen Umlaute/Sonderzeichen nicht. Alle Werte ebenfalls mit urlencode() codieren, damit die Zeichen alle korrekt übergeben werden.

Verfasst: 07.09.2010, 20:43
von mirko
Per POST die nl.php aufrufen und die Werte übergeben.

Nur für SuperMailinglist ab Version 2.0

Im eigenen Script die Datei functions.inc.php vom SML mit include() einbinden, danach kann man die Funktion DoHTTPRequest() verwenden.

Die Definition sieht so aus:

DoHTTPRequest($host,$method,$path,$data,$useragent=0, $port=80, $basicauth=false, $username=\"\", $password=\"\", &$errno, &$errstr)

Für einen Eintrag in SuperMailingList mit dem Script nl.php würde der Aufruf dann so aussehen:

Beispiel URL wäre http://www.supermailinglist.de/mailingl ... tung_demo/ gefolgt von nl.php

die Ãœbergabewerte halt

u_EMail=xyz@xyz.tld&Action=subscribe

Code: Alles auswählen

$errno=0;
$errstr="";

$result = DoHTTPRequest("www.supermailinglist.de","POST","/mailinglisten_verwaltung_demo/nl.php","u_EMail=xyz@xyz.tld&Action=subscribe",0, 80, false, "", "", $errno, $errstr);


if(!

  $result

)
  print "Das ging schief: $errstr";
else
  print "Das wird gut gegangen sein, Rückgabe<br>$result";

Verfasst: 07.09.2010, 16:45
von the_scrat
Hallo,

kurz zu meinem Problem. Ich möchte in einen Anmeldeprozess eines Shopsystems die direkte Eintragung in die SuperMailingList erzwingen und nicht weiter die im Shopsystem benutze DB nutzen.
Leider ist es mir durch die Architektur des Shops nicht möglich mit GET zu arbeiten, da wohl interne umleitungen dazu führen, dass kein GET-Befehl mehr auf der letztendlichen Ausgabeseite ankommt.

Ich suche daher einen Weg wie ich in reinem PHP Code eine Eintragung in die SuperMailingList bekomme. Evtl. sogar mit Opt-In Verfahren. Das bedeutet, ich übergebe in einer Funktion, Aufruf, etc. Anrede, Vorname, Nachname, E-Mail und den Rest übernimmt die SuperMailingList.

Gibt es hierzu einen Ansatz? Per GET geht es wohl mit url/nl.php?u_EMail=xxx@xxx.ext aber direkt in PHP? Eine kleine API wäre natürlich sehr geil.

Ansonsten bleibt halt nur noch das manuelle INSERT in die SuperMailerList - Datenbank.

Vielleicht steht ich auch einfach nur auf dem Schlauch....

Gruß
the_scrat