Christophe: PHP und Javascript

Hallo,

Ich verzweifle an diesem Javascript. Eigentlich will ich nur eine String variabel übergeben aber dieses Javascript bringt mich auf die Palme.
Mein Problem:

Ich will ein PHP String der Html, Text und Javascript enthält einer Javascript Funktion übergeben und dann diesen ausdrucken.
Das versuche ich mit dem fogenden Code. $htmlPrint enthält den zu druckenden text.

$tmpPrint = str_replace("\n", "", $htmlPrint);
  $tmpPrint = str_replace("\r", "", $tmpPrint);
  $tmpPrint = addslashes($tmpPrint);

$html .= "<script type='text/javascript'>";
  $html .= 'var lektion = $tmpPrint;';
  $html .= "function drucken()";
  $html .= "{";
  $html .= "  druck = window.open("printLektion.php", "Lektion", "toolbar=no, height=898, width=700, menubar=no, scrollbars=yes");";
  $html .= "  druck.print();";
  $html .= "}";
  $html .= "</script>";

Den Aufruf der Variable in printLektion.php mache ich mit:

<script type="text/javascript">
  document.write(opener.lektion);
</script>

Dei Zeile $html .= 'var lektion = $tmpPrint;'; verschafft mir Probleme. Ich habe es unter anderem auch schon mit $html .= 'var lektion = new Sting($tmpPrint);'; versucht aber das Funktioniert auch nicht. Ich habe schon verschiedenste Klassen so geschrieben aber immer verbunden mit einem riesen Zeitaufwand. Meistens sind es hochkomma fehler! Aber es sollte doch möglich sein diesen String so zu formatieren das Javascript nicht zickt.

Ich hoffe ihr könnt mir helfen!

Gruss Christophe

  1. hi,

    Dei Zeile $html .= 'var lektion = $tmpPrint;'; verschafft mir Probleme. [...] Meistens sind es hochkomma fehler!

    nun, da fehlen die hochkommata oder doppelten anführungszeichen um die stringvariable im JS ja wohl auch noch.

    Aber es sollte doch möglich sein diesen String so zu formatieren das Javascript nicht zickt.

    ja, ist es auch.

    wie sieht denn, nach all dem PHP, das ergebnis aus, was als HTML- bzs. JS-code bei dir herauskommt?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. wie sieht denn, nach all dem PHP, das ergebnis aus, was als HTML- bzs. JS-code bei dir herauskommt?

      Nun kommt darauf an was ich Probiere. Meistens kommt "undefined" raus. oder nicht "abgeschlossene Zeichenfolge". Oder es wird der variablename "$tmpPrint" ausgegeben.

      nun, da fehlen die hochkommata oder doppelten anführungszeichen um die stringvariable im JS ja wohl auch noch.

      Ja habs gesehen aber das ist halt ein weiteres Probieren. habe schon alles mögliche und unmögliche was mir in den sinn gekommen ist ausprobiert :-). wenn ich die variable lektion mit einem string selber inizialisiere z.B. "test" funktioniert es.

      1. hi,

        wie sieht denn, nach all dem PHP, das ergebnis aus, was als HTML- bzs. JS-code bei dir herauskommt?
        Nun kommt darauf an was ich Probiere. Meistens kommt "undefined" raus. oder nicht "abgeschlossene Zeichenfolge".

        ich wollte nicht wissen, welchen fehler die JS-konsole meldet, sondern wie der von dir erzeugte _quellcode_ aussieht.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi,

          ich wollte nicht wissen, welchen fehler die JS-konsole meldet, sondern wie der von dir erzeugte _quellcode_ aussieht.

          gut, wird vermutlich auch nicht mehr so sinnvoll sein - dass das problem mit den anführungszeichen zu tun hat, scheint ja gegeben zu sein.

          Dei Zeile $html .= 'var lektion = $tmpPrint;'; verschafft mir Probleme.

          was für probleme?
          du weißt doch sicher, wie das fertige und "richtige" ergebnis in javascript aussehen soll?
          außerdem ist dir ja hoffentlich bekannt, wie man in PHP mit strings umgeht, insb. auch, was sonderzeichen angeht.

          wo liegt denn dann noch das problem?

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }