PHP und Javascript
Dirty-Six
- php
Hallo! Ich verzweifel gerade an einem script! Un zwar möchte ich über php ein javascript ausgeben...funktioniert auch wunder bar nur die seite die das javascript anzeigen soll will nicht...
Hier mal der PHP-Code für die ausgabe:
<?php
$java1 ="document.write('";
$java2 ="');";
$r=2;
$event ="onclick=";
$dom = "javascript:document.getElementById('Bild').src='";
$dom_end ="';";
$text_disp ="document.getElementById('screentext').style.display='none';";
$pic_ad= "http://localhost/bilderdb/";
mysql_connect("","root");
mysql_select_db("dirtysix");
$res=mysql_query("select * from bilder");
$num_rows =mysql_num_rows($res);
while($dsatz =mysql_fetch_assoc($res))
{
if (($r%2)==0){
echo $java1.'<tr><td><img '.$event.'"'.$dom.$pic_ad.$dsatz["datname"].$dom_end.$text_disp.'" class="images" src="'.$pic_ad.$dsatz["datname"].'"/></td>'.$java2 ;
}else{
echo $java1.'<td><img '.$event.'"'.$dom.$pic_ad.$dsatz["datname"].$dom_end.$text_disp.'" class="images" src="'.$pic_ad.$dsatz["datname"].'"/></td></tr>'.$java2 ;
}
$r=$r+1;
}
?>
Und das script für die HTML seite:
<div id="gallerie"><table><script type="text/javascript" language="JavaScript"
src="auswertung_loc3.php"></script>
so wenn ich das was mir die PHP datei ausgibt als Html Code in die Seite kopier funktionierts... wenn ich den onclick-event weglass funktionierts auch...
Danke Schonmal!
Grüße,
<div id="gallerie"><table><script type="text/javascript" language="JavaScript"
src="auswertung_loc3.php"></script>
NICHT gut. ich bin ein laie aber ... - derartige "einbettung" würde vermutlich was anderes liefern als du erwartest.
ich glaube ncihtdass du das was php-script ausgibt derart einbetn kannst.
MFG
bleicher
Doch doch...das funktioniert ganz gut. Ausserdem hab ich keine andere möglichkeit da mein haupt-webspace kein php unterstützt somit ist das die eleganteste lösung.
Hallo,
Eine Zeile in dem erzeugten JavaScript-Code dürfte so ungefähr aussehen:
document.write('<tr><td><img onclick="javascript:document.getElementById('Bild').src='http://localhost/bilderdb/bild.jpg';document.getElementById('screentext').style.display='none';" class="images" src="http://localhost/bilderdb/bild.jpg"/></td></tr>');
Du siehst schon an dem Syntaxhighting, dass die JavaScript-Syntax fehlerhaft ist. In dem HTML-Code, den du mit der JavaScript Funktion document.write ausgeben möchtest, verwendest du einfache Anführungszeichen. Die müssen natürlich escaped werden ('), damit Sie nicht als Begrenzung einer Stringkonstanten gewertet werden. Es muss also so ein Code ausgegeben werden.
document.write('<tr><td><img onclick="javascript:document.getElementById(\'Bild\').src=\'http://localhost/bilderdb/bild.jpg\';document.getElementById(\'screentext\').style.display=\'none\';" class="images" src="http://localhost/bilderdb/bild.jpg"/></td></tr>');
Ändere den PHP-Code entsprechend und es müsste funktionieren.
Gruß,
Felix
Hello,
warum schreibst Du den Code für das JavaScript denn direkt ins PHP hinein?
Du machst Dir damit das Leben unnötig schwer.
Erfasse ihn in einer separaten Datei, dann kannst Du ihn auch einzeln testen und lade ihn dann nachher beim Generieren der Seite mit PHP durch readfile() oder durch file_get_contens() oder ähnliche Möglichkeiten dazu.
Alternativ kannst Du ihn natürlich auch vom Client direkt anfordern lassen, das ist dann aber eine andere Vorgehensweise, die auch andere Folgen haben kann.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom