Advancedform_XH und Gutschein-Code
Advancedform_XH und Gutschein-Code
Hallo zusammen,
habe da mal wieder eine Frage zu Advancedform_XH.
Wie stelle ich es mit Advancedform_XH an,dass in der Bestätigungsmail ein Gutschein-Code mit angezeigt wird, den er dann per Copy&Past auf einer
anderen Seite einlösen kann ?
Ich habe eine csv Datei mit 100.000 Gutschein-Codes.
Ein Gutscheincode für jede Bestätigungsmail.Die in der CSV wenn der erste den ersten Code bekommen hat dann gelöscht wird und die 2te Bestätigungsmail dann automatisch den 2ten Code erhält.
Hat mir zufällig jemand einen Ansatz oder Vorschlag wie ich das umsetzen könnte ?
habe da mal wieder eine Frage zu Advancedform_XH.
Wie stelle ich es mit Advancedform_XH an,dass in der Bestätigungsmail ein Gutschein-Code mit angezeigt wird, den er dann per Copy&Past auf einer
anderen Seite einlösen kann ?
Ich habe eine csv Datei mit 100.000 Gutschein-Codes.
Ein Gutscheincode für jede Bestätigungsmail.Die in der CSV wenn der erste den ersten Code bekommen hat dann gelöscht wird und die 2te Bestätigungsmail dann automatisch den 2ten Code erhält.
Hat mir zufällig jemand einen Ansatz oder Vorschlag wie ich das umsetzen könnte ?
aka smaxle | plugin_XH 1.7
Re: Advancedform_XH und Gutschein-Code
Das Einfachste wäre ein verstecktes (hidden) Feld anzulegen, und dieses per Hook zu befüllen. Ich kann aber aus dem Kopf nicht sicher sagen, ob versteckte Felder an den Absender verschickt. Also mal ausprobieren.
Der Hook könnte dann etwa so aussehen:
Code: Select all
function advfrm_custom_field_default($form_name, $field_name, $opt, $is_resent)
{
if (!$is_resent && $field_name === 'Gutscheincode') {
return uniqid(); // hier müsste der tatsächliche Code aus der DB geholt werden, etc.
}
}
Christoph M. Becker – Plugins for CMSimple_XH
Re: Advancedform_XH und Gutschein-Code
Haben es hinbekommen
Da man keine weiteren Formulare auf der Seite brauch, wurde eine .db(sqlite3 ) erstellt und in der advfrm.php hart reingecodet.
Nun erscheint mir der Code in der Bestätigungsmail des Absenders.
Da man keine weiteren Formulare auf der Seite brauch, wurde eine .db(sqlite3 ) erstellt und in der advfrm.php hart reingecodet.
Nun erscheint mir der Code in der Bestätigungsmail des Absenders.
Code: Select all
function Advancedform_mailInfo($id, $show_hidden, $html)
{
global $cf, $plugin_tx, $newCode;
$ptx = $plugin_tx['advancedform'];
$forms = Advancedform_db();
$form = $forms[$id];
$o = '';
if ($html) {
$o .= '<div class="advfrm-mailform">' . PHP_EOL;................................usw.
Code: Select all
if ($html) {
$o .= '<table>' . PHP_EOL;
$o .= '<tr><td style="width: 100%;" colspan="2">Als Dankeschön erhaltet Ihr von uns einen Rabatt-Gutscheincode.</td></tr><tr><td>Rabatt-Gutscheincode:</td>' . PHP_EOL;
$o .= '<td>'.$newCode.'</td></tr></table>' . PHP_EOL;
}
return $o;
}
aka smaxle | plugin_XH 1.7
Re: Advancedform_XH und Gutschein-Code
Ist natürlich auch eine Option.
Hm, und was ist, wenn der User nur Plain-Text-Mails empfängt? Ich selbst muss immer wieder schmunzeln, wenn ich den Newsletter eines meiner E-Mail-Provider bekomme: aufreißerischer Betreff, und eine komplett leere Message.SiNiTaSa wrote: ↑Sun Jun 10, 2018 10:20 amCode: Select all
if ($html) { $o .= '<table>' . PHP_EOL; $o .= '<tr><td style="width: 100%;" colspan="2">Als Dankeschön erhaltet Ihr von uns einen Rabatt-Gutscheincode.</td></tr><tr><td>Rabatt-Gutscheincode:</td>' . PHP_EOL; $o .= '<td>'.$newCode.'</td></tr></table>' . PHP_EOL; } return $o; }
Christoph M. Becker – Plugins for CMSimple_XH
Re: Advancedform_XH und Gutschein-Code
Danke für den Hinweis
Jetzt kommt der Code in html und text an.
Soweit so gut.... hat noch jemand einen Ansatz, wie ich den Code auf die Danke Seite bekommen würde ??
Im Tynmce geht ja kein php...
Mein Ansatz mit Session zu arbeiten ist fehlgeschlagen.
Wäre es eine Möglichkeit über userfuncs.php zu gehen ??
Oder einer globale Variable ??
Wurde soeben behoben.....Hm, und was ist, wenn der User nur Plain-Text-Mails empfängt? Ich selbst muss immer wieder schmunzeln, wenn ich den Newsletter eines meiner E-Mail-Provider bekomme: aufreißerischer Betreff, und eine komplett leere Message.
Jetzt kommt der Code in html und text an.
Soweit so gut.... hat noch jemand einen Ansatz, wie ich den Code auf die Danke Seite bekommen würde ??
Im Tynmce geht ja kein php...
Mein Ansatz mit Session zu arbeiten ist fehlgeschlagen.
Wäre es eine Möglichkeit über userfuncs.php zu gehen ??
Oder einer globale Variable ??
aka smaxle | plugin_XH 1.7
Re: Advancedform_XH und Gutschein-Code
Zunächst einmal ist zu bedenken, dass Advancedform_XH auf die Dankseite weiterleitet. Du könntest an die URL noch einen Parameter anhängen, der auf der Dankseite ausgelesen wird. Zum Auslesen würde ich eine Funktion in userfuncs.php() definieren, und diese auf der Dankseite per Plugincall aufrufen.SiNiTaSa wrote: ↑Sun Jun 10, 2018 1:13 pmSoweit so gut.... hat noch jemand einen Ansatz, wie ich den Code auf die Danke Seite bekommen würde ??
Im Tynmce geht ja kein php...
Mein Ansatz mit Session zu arbeiten ist fehlgeschlagen.
Wäre es eine Möglichkeit über userfuncs.php zu gehen ??
Oder einer globale Variable ??
Und gut aufpassen, dass es nicht passieren kann, dass du zwei (oder mehr) Usern den gleichen Gutscheincode schickst, auch wenn diese gleichzeitig das Formular versenden. Dazu bietet sich flock an.
Christoph M. Becker – Plugins for CMSimple_XH
Re: Advancedform_XH und Gutschein-Code
Wahrscheinlich eine (blöde?) Idee.
1. Im formular ein Eingabefeld mit "Geben Sie einen temporären 6-steligen Code ein (den Code brauchen SIe nicht speichern, er wird nur für Gutscheincodeerstellung gebraucht)."
2. Eine Funktion für den eingegebenen Code Encryption ins Plugin zu geben, die aus dem temporären 6-steligen Code einen Gutscheincode generiert.
3. Den generierten Code auf die Dankeseite in Callvariable übertragen.
1. Im formular ein Eingabefeld mit "Geben Sie einen temporären 6-steligen Code ein (den Code brauchen SIe nicht speichern, er wird nur für Gutscheincodeerstellung gebraucht)."
2. Eine Funktion für den eingegebenen Code Encryption ins Plugin zu geben, die aus dem temporären 6-steligen Code einen Gutscheincode generiert.
3. Den generierten Code auf die Dankeseite in Callvariable übertragen.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.
Re: Advancedform_XH und Gutschein-Code
Auf die Idee kam ich auch, leider sieht man den Code dann in der Browserzeile. Auf Plugincall wäre ich jetzt nicht gekommen. Gute Idee (hätte sonst das im Template gemacht).... Du könntest an die URL noch einen Parameter anhängen, ...userfuncs.php() definieren, und diese auf der Dankseite per Plugincall aufrufen.
Was nicht alles gibt - nie gesehen/nie gebraucht - Das muss ich mal testen, aber wie testet man das?.... Dazu bietet sich flock an.
2 User die gleichzeitig an unterschiedlichen Rechnern sitzen und dann den Sende Button drücken?
@Tata Ich denk mal die Gutscheicodes sind vorgegeben, da Sie ja bei jemanden Anders eingelöst werden können.
Re: Advancedform_XH und Gutschein-Code
Okay, nicht optimal, weil der User diese URL möglicherweise irgendwo anders posten könnte. Versteckt könnte man den Code in einem Cookie platzieren, aber das klappt nicht, wenn der Browser keine Cookies akzeptiert, und könnte rechtlich (DSGVO etc.) vielleicht auch wieder problematisch sein. Dann bliebe noch die Möglichkeit, den gehashten Gutscheincode in der URL zu übergeben. Das könnte dann vielleicht so ablaufen:
- Beim Versenden der Mail wird der Gutscheincode aus der „Datenbank“ geholt.
- Der Hash wird errechnet, und zusätzlich zum eigentlichen Code in die „Datenbank“ geschrieben. Und eben dieser Hash wird an die URL angehängt.
- Beim Aufruf der Dankseite wird geprüft, ob der übermittelte Hash in der “Datenbank” vorkommt, und falls ja, dann wird der eigentliche Gutscheincode gelesen und angezeigt.
Zwei verschiedene Browser sollten genügen; eigentlich tun es schon zwei verschiedene Tabs im selben Browser. Am besten baut man im Script noch ein sleep(5) o.ä. ein, damit man nicht genau gleichzeitig submitten muss, und sich ggf. sogar die Datei live anschauen kann.
Christoph M. Becker – Plugins for CMSimple_XH
Re: Advancedform_XH und Gutschein-Code
Eben deswegen auch wenn der Aufruf nur in dem Fall kommt, wenn das Formular gesendet wird. Post-Methode wäre auch eine Variante (aber auch aufwendiger). Am einfachsten wäre vielleicht doch die Get-Methode und wenn userfunc durch die Plugincall greift die Browserzeile zurück zu setzen. Ich meinte ich hätte das mal gemacht irgendwo.Okay, nicht optimal,
Noch schöner wäre (außer XH_startSession etc.) das CMSimple ne globale Variable bietet die überall gültig wäre. (ahhh da test ich mal was)
Spitze! manchmal kommt man auf das Simple(ste) nicht. Das muss ich mir auf jeden Fall mal anschauen....damit man nicht genau gleichzeitig submitten muss