Hallo zusammen,
ich hoffe ich bin mit meiner Frage im richtigen Forum. Die Suchfunktion hat mir bei meinem Problem leider nichts geholfen.
Es geht um folgendes:
Mit PHP messe durch Microtime die Zeit eines Start- und eines Endpunkts. Diese werden beim Drücken eines entsprechenden Buttons gespeichert. Beim Ende werden diese zusammengerechnet und in der Session Variable "result" gespeichert, sodass ich die Zeit des "Spiels" in Millisekunden des jeweiligen Nutzer herausfinde. Dann wird per Javascript eine Fancybox aufgerufen, wo mit Text das erfolgreiche Ende des "Spiels" angekündigt wird. Hierbei soll auch die Session Variable "result" angezeigt werden. Die Nutzer sollen ja sehen, wie schnell sie waren.
Mein Javascript-Teil:
Der PHP-Teil:
Das Problem hierbei: Schon beim Aufrufen der Seite erhalte ich den Fehler "SyntaxError: unterminated string literal" aus. Beim Klick auf den Button "Spiel beenden (name="end") sagt mir Javascript die Funktion success() wäre nicht definiert. Klicke ich nochmal auf den Button funktioniert alles tadellos.
Ich persönlich nehme an, dass die Funktion aufgerufen wird, bevor PHP die Session Variable "result" beschreiben kann. Die Unindexierte Variable kann Javascript nicht lesen und gibt mit den Error Unterminated String literal aus. Aber ich bin mir nicht sicher. Ich habe bisher keine Lösung finden können. Vielleicht hat einer von euch eine Idee?
Ich hoffe ich habe mich verständlich ausgedrückt. Wenn etwas nicht klar sein soll und etwas noch fehlt, bitte Bescheid sagen
Vielen Dank schonmal im Vorraus!
ich hoffe ich bin mit meiner Frage im richtigen Forum. Die Suchfunktion hat mir bei meinem Problem leider nichts geholfen.
Es geht um folgendes:
Mit PHP messe durch Microtime die Zeit eines Start- und eines Endpunkts. Diese werden beim Drücken eines entsprechenden Buttons gespeichert. Beim Ende werden diese zusammengerechnet und in der Session Variable "result" gespeichert, sodass ich die Zeit des "Spiels" in Millisekunden des jeweiligen Nutzer herausfinde. Dann wird per Javascript eine Fancybox aufgerufen, wo mit Text das erfolgreiche Ende des "Spiels" angekündigt wird. Hierbei soll auch die Session Variable "result" angezeigt werden. Die Nutzer sollen ja sehen, wie schnell sie waren.
Mein Javascript-Teil:
Code:
function success() {
var result='<?php echo $_SESSION["result"];?>';
var text_header = '<div id="exit"><p class="message success" id="success">Ihre Daten wurden übermittelt.</p>';
var text_text = '<p>Vielen Dank für Ihre Teilnahme. Weiterer Text....<input type="submit" name="exit" class="button" value="Weiter zur Homepage"></p></div>';
jQuery(document).ready(function() {
$.fancybox(
text_header + result+text_text,
{
'autoDimensions' : false,
'width' : 350,
'height' : 'auto',
'transitionIn' : 'none',
'transitionOut' : 'none'
}
);
});
}
Der PHP-Teil:
PHP:
if(isset($_POST["end"])) {
if (!$newpart=fopen("results.csv","a")) {
echo "<script type='text/javascript'>
document.getElementById('errorRights').style.display = 'block';
</script>";
}
else {
$_SESSION["timestamp_end"] = date("d.m.Y - H:i:s");
$_SESSION["end"] = microtime(true)*1000;
$_SESSION["result"] = round($_SESSION["end"]-$_SESSION["start"]);
fputs($newpart,utf8_decode($_SESSION["address"]).";".utf8_decode($_SESSION["fullname"]).";".utf8_decode($_SESSION["email"]).";".utf8_decode($_SESSION["firm"]).";".utf8_decode($_SESSION["street"]).";".utf8_decode($_SESSION["city"]).";"."START-ZEIT:".";".utf8_decode($_SESSION["start"]).";"."END-ZEIT:".";".utf8_decode($_SESSION["end"]).";".$_SESSION["timestamp_start"].";".$_SESSION["timestamp_end"].";".$_SESSION["result"].";\n");
echo '<script type="text/javascript">
success();
</script>';
fclose($newpart);
}
}
Das Problem hierbei: Schon beim Aufrufen der Seite erhalte ich den Fehler "SyntaxError: unterminated string literal" aus. Beim Klick auf den Button "Spiel beenden (name="end") sagt mir Javascript die Funktion success() wäre nicht definiert. Klicke ich nochmal auf den Button funktioniert alles tadellos.
Ich persönlich nehme an, dass die Funktion aufgerufen wird, bevor PHP die Session Variable "result" beschreiben kann. Die Unindexierte Variable kann Javascript nicht lesen und gibt mit den Error Unterminated String literal aus. Aber ich bin mir nicht sicher. Ich habe bisher keine Lösung finden können. Vielleicht hat einer von euch eine Idee?
Ich hoffe ich habe mich verständlich ausgedrückt. Wenn etwas nicht klar sein soll und etwas noch fehlt, bitte Bescheid sagen
Vielen Dank schonmal im Vorraus!
Zuletzt bearbeitet: