Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Ich verwende den Fragetypen "E-Mail an persönlichen Kontakt" einen Platzhalter zu bauen, der eine GET-Variable mit einem Referenzcode in eine URL enkodiert. Leider werden &-Zeichen in & übersetzt, so dass der Link letztendlich nicht funktioniert. Ursprünglich wollte ich das Problem mit urlencode() lösen, jedoch ist diese Funktion leider gesperrt.

Gibt es andere Wege, einen Referenz-Link in dieser Form zu bauen: urlencode:
https://www.soscisurvey.de/test123456789**&code=test**

Vielen Dank

in SoSci Survey (dt.) by s059552 (235 points)

1 Answer

0 votes
 
Best answer

Leider werden &-Zeichen in & übersetzt, so dass der Link letztendlich nicht funktioniert.

Ich habe es gerade einmal getestet und konnte das Problem nicht nachvollziehen.

Die E-Mail wird als Textmail verschickt und ein kaufmännisches Und (&) bleibt unangetastet.

Allerdings: Wenn Sie nur einen Parameter verwenden, dann muss dieser mit einem Fragezeichen (?), nicht mit einem kaufmönnischen Und (&) abgetrennt werden, vgl. Parameter im Fragebogen-Link.

by SoSci Survey (85k points)
selected by s059552
Sorry, ich dachte der Fehler würde nicht mehr auftreten aber nun doch:

```
$base_url = "https://www.soscisurvey.de/SOMETHING";
$code = 123;

if(isset($code)) {
    $url = $base_url . "?code=" . $code;
    $url .= "&test=999";
    debug($url);
} else {
    $url = $base_url;
}

replace('%placeholder%', $url);
```

Der Platzhalter `%placeholder%` wird dann zu:
https://www.soscisurvey.de/SOMETHING?code=123&test=999
in "E-Mail an persönlichen Kontakt"
Ah - Sie arbeiten mit einem Platzhalter! Dann ist die Lösung einfach, ergänzen Sie einfach einen dritten Parameter in der Funktion replace():

replace('%placeholder%', $url, 'html');

Alternativ können Sie das &code= direkt in den Mail-Inhalt schreiben und nur den Code via Platzhalter ersetzen.
Das löst das Problem! Vielen Dank
...