Unexpeted Error on line 70

HI Wissenbändiger
ich komme absolut nicht weiter der code gibt mir in line 70 einen fehler aus allerdings weiss ich nicht was ich vergessen habe zu escapen.

print „\n\n“;
print „<!–\n“;
print „window.setTimeout('window.location=“" . $row[‚target_url‘] . „“;’, " . ($redir_delay * 1000) . „);\n“;
print „//–>\n“;

print " ";
print "
Redirecting to target URL: //<![CDATA[
print „function myFunctionName(objDateEvent)“; print „{
alert(„Hello World!“)“;
}
//]]>
Line 70 -------> seconds, or click on the button Skip Link Shorter Ad       ";
print "    
";
print " ";
print $advertfinish;

MFG PHIL
Wäre um hilfe dankbar.

hi Phil,
was für einen Fehler bekommst du denn? einen PHP fehler? oder gibt dir der Browser keinen Javascript fehler? kann es sein das ein „print“ vor deiner zeile 70 fehlt?

gruss chris

Hallo,

versuche mal das folgende:

?>

Redirecting to target URL:
//<![CDATA[
function myFunctionName(objDateEvent)
{
alert(„Hello World!“);
}
//]]>

<?php Gruß, Olaf

habe das print dort bereits hingesetz aber nix hat sich geändert der komplette escape aufbau ist verkehrt meine ich.

Hi Olaf irgendwie kan ich damit gar nchts anfangen wäre es machbar mir den code nocheinmal zu posten mir Print variablen davor das würde mir weiterhelfen.

ich komme absolut nicht weiter der code gibt mir in line 70
einen fehler aus allerdings weiss ich nicht was ich vergessen
habe zu escapen.

Hallo Phil,

da es sich um keine PHP-Fehlermeldung, sondern einen JavaScript-Fehler handelt, bezieht sich die Fehlermeldung auf die Zeilennummer des an den Browser ausgegebenen HTML-Quellcode, nicht auf die Zeilennummer im PHP-Skript.

Das heißt, schau mal im Browser in den Quellcode der HTML-Seite und guck dort in Zeile 70 nach.

Viele Grüße
Stefan

Hi Nutzt du einen PHP editor mit syntax higlightning?
zb. „notepad++“
dann ist es nämlich ziemlich offensichtilich wo welches escaping nicht korrekt ist.
ansonsten kannst du sowiol in php als auch in javascript mit Double Qoutes and single Quotes strings abgrenzen.

ich würde empfehlen für die PHP strings single quotes zu nehmen und für javascript double qotes dann ist es übersichtlicher.
oder am besten du sammelst erstmal dein Kompettest html Mittels HEREDOC syntax dann brauchst du gar nix zu escapen und ersetzt dann anschließend mit printf() die entsprechenden stellen.

hier ein beispiel:
// using HEREDOC syntax to get the format string and get around the Horroble escaping
$html

Redirecting to target URL:
// <![CDATA[
// ]]>

ENDHTML;

printf($html,$row[‚target_url‘],($redir_delay * 1000) . '));

wenn du viel script code ausgeben musst denk mal über ein template system nach z.b Smarty oder ähnliches um php & html/script code sauber zu trennen.

gruss chris

Sollte das nun ein Witz sein ?ISt nicht dein ernst oder?

JA wie es aussieht ist man hier wohl doch verloren danke für die nichtsaussagende Antworten denke das meine Frage klar war, da mir aber niemand sagen mag wo sich der fehler eingeschlichen hat account löschen und gut ist mittlerweile schon die 4 te hier wo (nichts gegen dich Christian)leute meinen ihr nicht aufgefordetes wissen öpreiszugeben es hat schon alles eine Grund warum ich de frage so stelle und warum ich genau die Print function nutzen muss aber nun ja wie es sei trotzdem danke aber das wars.Zum glücl gibts ja die komkurenz wo ich immer ne antwort bekomme.

dann versuch mal das folgende:

print „\n\n“;
print „<!–\n“;
print „window.setTimeout('window.location=“" . $row[‚target_url‘] . „“;’, " . ($redir_delay * 1000) . „);\n“;
print „//–>\n“;

print " „;
print "
Redirecting to target URL: //<![CDATA[\nfunction myFunctionName(objDateEvent)\n{\nalert(„Hello World!“)\n}\n//]]>\n seconds, or click on the button Skip Link Shorter Ad“;
print "
";
print " ";
print $advertfinish;

Gruß,
Olaf

Sollte das nun ein Witz sein ?ISt nicht dein ernst oder?

OK, die Stelle passt schon, folgendes ist falsch:

print „{
alert(„Hello World!“)“;

muss werden zu:

print „{
alert(„Hello World!“)“;

Man kann übrigens auch den PHP-Teil mit ?> beenden, den ganzen HTML-/JS-Kram einfach ohne umständliches Escapen hinschreiben und dann bei Bedarf wieder ein

In dem Code sind einige Escape-Fehler enthalten. Generell scheint es mir so, als ob du noch nicht gewusst hast, dass man bei der Funktion „print“ auch über das Zeilenende hinaus schreiben darf. Folgender Code ist also absolut korrekt:

<?php print "Das ist ein langer Text
der über zwei Zeilen reicht."; ?\> Und zur Vollständigkeit ist hier noch die korrigierte Version deines Codes: ---8\n"; print "\n"; print " "; print " Redirecting to target URL: //\ seconds, or click on the button Skip Link Shorter Ad       "; print "     "; print " "; print $advertfinish; ---8