Supportnet / Forum / Skripte(PHP,ASP,Perl...)
parse fehler
Frage
hi, haben ein syntax- fehler kann mir einer helfen ?
im normal html lautet der befehl:
<a href="javascript:void(0)" onmouseover="displayPopup('DeinPopup.html','feedback',100,400,(version4 ? event : null))" onmouseout="closePopup()">DeinLinkText</a>
für php habe ich folgendes erzeugt:
echo "<a href='javascript:void(0)' onmouseover='displayPopup('DeinPopup.html','feedback',100,400,(version4 ? event : null))' onmouseout='closePopup()'>DeinLinkText</a>";
echo "</td>";
kann mir einer sagen wo der fehler ist =
danke
Antwort 1 von TheHappyJoker
Habe es kurz mal durch meinen Offline-Parser laufen lassen (weil ich beim kurzen überblicken nichts gefunden habe).
Der hat aber keinen PHP-Fehler gefunden!
Es liegt nur ein JavaScript-Fehler vor! Das OnMouseOut scheint so nicht zu funktionieren.
JavaScript-Fehler: Objekt erwartet.
Was willst Du erreichen? Das ein Popup-Fenster beim verlassen des Linkbereichs geschlossen wird?
<gruß thj>
Der hat aber keinen PHP-Fehler gefunden!
Es liegt nur ein JavaScript-Fehler vor! Das OnMouseOut scheint so nicht zu funktionieren.
JavaScript-Fehler: Objekt erwartet.
Was willst Du erreichen? Das ein Popup-Fenster beim verlassen des Linkbereichs geschlossen wird?
<gruß thj>
Antwort 2 von quo
genau - also ohne php im normal html geht es nur halt im eingebundenen echo nicht könnte der fehler im bereich ...displayPopup('DeinPop.. liegen, da ja schon im html ein ' durch " eingeschlossen wird ?
Antwort 3 von TheHappyJoker
Achso, jetzt habe ich es gefunden :)
Im eigentlichen Sinne leigt ja auch kein Fehler vor, nur wenn man sich mal die beiden Code gemeinsam anschaut, erkannt man den Übeltäter:
Die " kannst Du im PHP maskieren (denn weglassen darfst Du sich nicht), damit sie vom PHP-Parser nicht "erkannt" werden:
echo "<a href=\"javascript:void(0)\" onmouseover=\"displayPopup('DeinPopup.html','feedback',100,400,(version4 ? event : null))\" onmouseout=\"closePopup()\">DeinLinkText</a>";
Das sollte gehen :)
P.S.: Das HTML-Handbuch (am besten als deutsches CHM-Dokument, falls Du Windows benutzt) ist für den Anfang sehr gut geeignet ;-)
<gruß thj>
Im eigentlichen Sinne leigt ja auch kein Fehler vor, nur wenn man sich mal die beiden Code gemeinsam anschaut, erkannt man den Übeltäter:
Die " kannst Du im PHP maskieren (denn weglassen darfst Du sich nicht), damit sie vom PHP-Parser nicht "erkannt" werden:
echo "<a href=\"javascript:void(0)\" onmouseover=\"displayPopup('DeinPopup.html','feedback',100,400,(version4 ? event : null))\" onmouseout=\"closePopup()\">DeinLinkText</a>";
Das sollte gehen :)
P.S.: Das HTML-Handbuch (am besten als deutsches CHM-Dokument, falls Du Windows benutzt) ist für den Anfang sehr gut geeignet ;-)
<gruß thj>
Antwort 4 von TheHappyJoker
Sollte natürlich PHP-Handbuch heißen (Denk-Schreibfehler :)
<gruß thj>
<gruß thj>
Antwort 5 von MixMax
er benutzt aber ' in den " das geht normal schon.
ich würde es aber umdrehen damit er nichts innerhalb der Anführungszeichen umsetzt.
also echo 'blah <a href=""> blah </a>';
wenn du z.B. schreibst
$XYZ = "Hallo"
und dann schreibst
echo "123$XYZ";
schreibt er dir 123Hallo
hingegen bei
echo '123$XYZ';
schreibt er dir auch wirklich 123$XYZ
da brauchst du auch nur das ' selber zu maskieren.
habe wegen der überlangenzeile bei deinem eintrag die tags entfernt.
ich würde es aber umdrehen damit er nichts innerhalb der Anführungszeichen umsetzt.
also echo 'blah <a href=""> blah </a>';
wenn du z.B. schreibst
$XYZ = "Hallo"
und dann schreibst
echo "123$XYZ";
schreibt er dir 123Hallo
hingegen bei
echo '123$XYZ';
schreibt er dir auch wirklich 123$XYZ
da brauchst du auch nur das ' selber zu maskieren.
habe wegen der überlangenzeile bei deinem eintrag die tags entfernt.
Antwort 6 von quo
hi,
das ist mir alles klar - aber ich babe das problem, das ich in der darstellung für html schon ' zur werteübergabe verwende - wie muss ich die einbeauen - da sie unter echo zu "
danke
das ist mir alles klar - aber ich babe das problem, das ich in der darstellung für html schon ' zur werteübergabe verwende - wie muss ich die einbeauen - da sie unter echo zu "
danke
Antwort 7 von MixMax
ggfs schaue dir mal die
an
also mit
oder
könnte es evtl besser gehen da er dann alle sonderzeichen markiert mit einem
ich glaube in deinem fall sollte quotemeta helfen.
funktion String = addslashes(String);
an
also mit
echo addslashes("<a href=\"jav.../a>");
oder
echo quotemeta("<a href=\"jav.../a>");
könnte es evtl besser gehen da er dann alle sonderzeichen markiert mit einem
ich glaube in deinem fall sollte quotemeta helfen.