Benutzer anlegen direkt über PHP

Fragen und Tipps & Tricks zur PHP Mailinglisten-Verwaltung SuperMailingList

Moderator: mirko

Antworten
Benutzeravatar
mirko
Beiträge: 22879
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Ja natürlich die Angaben sind Pflicht, sonst weiß er nicht wohin er es schreiben soll.
the_scrat
Beiträge: 141
Registriert: 07.09.2010, 16:20

Beitrag 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)
Zuletzt geändert von the_scrat am 08.09.2010, 15:45, insgesamt 1-mal geändert.
Benutzeravatar
mirko
Beiträge: 22879
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag 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.
Benutzeravatar
mirko
Beiträge: 22879
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag 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";
Zuletzt geändert von mirko am 07.09.2010, 20:45, insgesamt 1-mal geändert.
the_scrat
Beiträge: 141
Registriert: 07.09.2010, 16:20

Beitrag 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
Antworten