Fuldt javascript der ikke bliver escapet?

Tags:    php

javascript link i db? 80 point fra nickyc



X Hey alle..
Jeg har et lille problem! Har en sted hvor du kan oprette en ny "artikel" der hvor du opretter har du nogle felter man skal udfylde, et af dem er "URL"

Mit problem er at på visse punkter skriver man bare sin URL deri, men sometider skal det være muligt at kunne skrive fx:
onclick="window.open('page2.htm', 'win1','width=200,height=200,menubar'
---------------

Dette kommer jo til at volde problemer når jeg skal skrive det ud på siden, så vil mit link jo se sådanne ud:

<a href="onclick="window.open('page2.htm', 'win1','width=200,height=200,menubar'">


Hvilket ikke duer, samt at den ikke vil skrive andet en "onclick" - da der så kommer gåseøjne igen?

Hvad gør jeg ?



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Du kunne evt. gøre det på den måde, at du undersøger de første 7 tegn af url'en om de er = "onclick".
Dvs. if (substr ($myrow["url"], 0, 7) = "onclick"), ja så kan du sætte $href="#\\" " . $myrow["url"];

Hvis det så er tilfældet at sub-strengen af myrow["url"] ikke er li med "onclick", ja så kunne $href tildeles:
$href = $myrow["url"] . "\\"";

linket vil derfor bare blive <a href="<? echo $href; ?>>link</a>

... teoretisk set.



href="javascript:window.open()"



Den 01-07-05 12:28 skrev Nicky Christensen følgende:
-----------------------------------------------------------------------------
javascript link i db? 80 point fra nickyc



X Hey alle..
Jeg har et lille problem! Har en sted hvor du kan oprette en ny "artikel" der hvor du opretter har du nogle felter man skal udfylde, et af dem er "URL"

Mit problem er at på visse punkter skriver man bare sin URL deri, men sometider skal det være muligt at kunne skrive fx:
onclick="window.open('page2.htm', 'win1','width=200,height=200,menubar'
---------------

Dette kommer jo til at volde problemer når jeg skal skrive det ud på siden, så vil mit link jo se sådanne ud:

<a href="onclick="window.open('page2.htm', 'win1','width=200,height=200,menubar'">


Hvilket ikke duer, samt at den ikke vil skrive andet en "onclick" - da der så kommer gåseøjne igen?

Hvad gør jeg ?
-----------------------------------------------------------------------------

<a href="" onclick="window.open('page2.htm', 'win1','width=200,height=200,menubar'">

forstår ikke rigtigt hvad dit spørgsmål går ud på og hvad det har med php at gøre.
men jeg mener at href og onclick skal være vært for sig og at onlick ikke skal være indei href



Det er også korrekt...

Det jeg vil have det til når det bliver skrevet ud på den side jeg skal have skrevet linket ud på er at skrive:

med java:
<a href=# onclick openwindow osv osv... Dog når jeg smider det ind i min database, og printer det ud her vil linket ikke virke da linket indeholder "", dvs hvis jeg skriver:

echo "<a href=" . $myrow[url] . ">Se her"</a>";
så skriver den <a href="onclick også stoppe den her!

Desuden vil det link heller ikke virke da det skal se sådanne ud:
<a href=# onclick osv osv...

Men primært er mit spm vel, hvordan escaper jeg tegnene fra javascript linket, sådan det kommer til at virke?



Kan det evt passe jeg skal skrive:

if($myrow['url'] != "") {
echo "<a href=" . $myrow['url'] ." target='_blank'>Se mere her</a></strong></tr></td>";
}
if($myrow['link'] != "") {
echo "<a href='#'" . $myrow['link'] ." target='_blank'>Se mere her</a></strong></tr></td>";
}

Har indsat et nyt felt i min database til et evt link nemlig?

Men når jeg skriver dette viser den ingenting?



t