Dirty-Six: PHP und Javascript

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!

  1. 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

    --
    __________________________-
    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
    Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
    Boccaccio
    1. 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.

  2. 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

    --
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
    René Descartes
  3. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)