Nixwisser: session_start(); --> JavaScript reagiert nicht mehr

Beitrag lesen

Moment mal, dass die SID so in den JavaScriptcode eingebaut wird, dass die Syntax verletzt wird, ist ein vom Programmierer zu lösendes Problem. Und es ist lösbar.

Wie könnte man es lösen? Gibt es einen Möglichkeit das PHP beim anhängen der Session_ID den JavaScript-Code auslässt?

Nein, das wäre eh kontraproduktiv, da Du dann mal die ID in der URL hast und mal nicht.

Wie Du inzwischen wissen solltest, hat Dein ursprünglicher Fehler seinen Grund in falscher Anführungszeichensetzung. Der Originalcode von Dir sieht so aus:

var form = "<form name='Formular' action='mailto:"+name+"@"+domain+"."+tld+"' enctype='Text/Plain' method='POST' onsubmit='return check_form()'>";

Du schließt den Text für die Javascript-Variable form in doppelte Anführungszeichen, deshalb hast Du (völlig korrekt) innerhalb des Textes einfache Anführungszeichen benutzt.

PHP fügt in diesen Text sein <input>-Element ein, aber mit doppelten statt der nötigen einfachen Anführungszeichen, was zum Fehler führt:

var form = "<form name='Formular' action='mailto:"+name+"@"+domain+"."+tld+"' enctype='Text/Plain' method='POST' onsubmit='return check_form()'><input type="hidden" name="PHPSESSID" value="d28b89a5bfbef24e135645819a64a41b" />";

Wie man nun dieses Problem umschifft und einen Text in PHP so definiert, dass man doppelte Anführungszeichen ohne Maskierung in diesem Text nutzen kann, gehört zu den Grundlagen von PHP-Textvariablen. Du hast diese Grundlage hier auch schon benutzt, nur andersrum, wirst also sicher auf die Lösung kommen.