print_r($meinArray) in PopUp anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • print_r($meinArray) in PopUp anzeigen

    Moin miteinander ;

    habe folgendes Problem:
    ich nutze zum debuggen meines (PHP) - Codes gerne :
    print_r($irgendeinArrayoderObjekt);
    um Übersicht über den Inhalt eines Arrays bzw eines Objekts zu haben.
    Nun wollt ich mir das Ausgabe von print_r mit <pre></pre> hübsch in einem javascript PopUp anzeigen lassen, hier mal den Code den ich habe:
    PHP-Code:
    <?
    function showINFO_2($obj){
        $buffer = "<pre>";
        $buffer .= print_r($obj, true); // true sorgt dafür, das der returnwert als Array ausgegeben wird und nicht direkt auf den Bildschim kommt
        $buffer .= "</pre>";
        ?>
        <script language="JavaScript" type="text/javascript">
        <!--  
        function msg(){
          var popupWindow=window.open();
          popupWindow.document.writeln("<? echo $buffer; ?>");    // hier klemmts !!!!!!!!!!!
        }
         // -->
        </script>
        <?
        echo '<a href="#" onclick="msg()">hier klicken</a>';
        echo '<pre>';
        echo $buffer;   
        //print_r($obj);
        echo '</pre>';
    }
    ?>
    popupWindow.document.writeln("Hallo Welt "); klappt ja aber wenn ich:
    PHP-Code:
    popupWindow.document.writeln("<? echo $buffer; ?>");
    schreibe meldet mir zb. Firefox:"msg is not defined" !

    Also, wie schreibe ich ein PHP - Array in ein Javascript PopUp ?

    besten Dank im voraus
    mcm
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

  • #2
    Lass dir mal das fertig geparste Script anzeigen (Den Quelltext, der im Browser ankommt).
    hopka.net!

    Kommentar


    • #3
      Hier meine Test.php
      PHP-Code:
      <?php 
        
      include_once("debug.php");// hier liegt mein Script
      $blumen = array("Rose""Tulpe""Nelke""Sonnenblume");
         
      ?>
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html>
        <head><title>New Document</title></head>
        <body>
          <? showINFO_2($blumen); ?>
        </body>
      </html>
      ergibt folgenden Quelltext:

      PHP-Code:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <
      html>
        <
      head>
          <
      title>New Document</title>
          <
      meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
        </
      head>
        <
      body>
              <
      script language="JavaScript" type="text/javascript">
          <!--  
          function 
      msg(){
            var 
      popupWindow=window.open();
            
      popupWindow.document.writeln("<pre>Array
      (
          [0] => Rose
          [1] => Tulpe
          [2] => Nelke
          [3] => Sonnenblume
      )
      </pre>"
      );    
          }
           
      // -->
          
      </script>
          <
      a href="#" onclick="msg()">hier klicken</a>  </body>

      </
      html
      hier nochmal der Inhalt von debug.php:
      PHP-Code:
      <?
      function showINFO_2($obj){
          $buffer = "<pre>";
          $buffer .= print_r($obj, true);
          $buffer .= "</pre>";
          ?>
          <script language="JavaScript" type="text/javascript">
          <!--  
          function msg(){
            var popupWindow=window.open();
            popupWindow.document.writeln("<? echo $buffer; ?>");    
          }
           // -->
          </script>
          <?
          echo '<a href="#" onclick="msg()">hier klicken</a>';
      }
      ?>
      "I don't want to belong to any club that would accept me as a member."

      Groucho Marx

      Kommentar


      • #4

        hab ne Lösung gefunden:
        PHP-Code:
        popupWindow.document.writeln("<? echo preg_replace('/\n/','\n',$buffer); ?>");
        da sich Javascript an den zeilenumbruch stört.
        "I don't want to belong to any club that would accept me as a member."

        Groucho Marx

        Kommentar

        Lädt...
        X