carsten schlichting: alle variablen in datei ausgeben

hallo

mit print_r($_SESSION);

kann man sich ja in php  die session_variablen ausgeben lassen.

da meine seite durch fixe Inhalte und browserkompatibiltät etwas empfindlich ist,
ist es recht schwierig diese ausgabe auf ein div mit <pre></pre> zu legen, das den Rest der Seite überlagert.Auch JS reagiert etas empfindlich auf diese ausgabe, da irgendwie JS_funktionen, die ich über PHP_variablen einfüge, falsch_aktiviert werden.

irgendwie scheint das was ich mache zwar gut gemeint zusein, aber leider nicht ganz rund.

vielleicht gibt es da noch eine andere methode..und vielleicht weiß jemand, ob man sich diese ausgabe auch in einer extra datei ausgeben lassen kann.

wär wahrscheinlich der einfachste weg--fragt sich aber nur wie?

grüße von mir carsten

  1. Hallo,

    Das ganze soll ja eigentlich zum debuggen dienen.
    Ich mach es immer so, dass ich solchen Debug-output in ganz normalen HTML-Kommentaren ausgebe. Da wird das Design nicht verhaut und es ist auch noch recht leicht erreichbar.
    Ab Version 4.3 kannst du den Output von print_r auch ganz einfach in eine Textdatei schreiben, in dem du ihm den return Parameter mitgibst:
    $fp = fopen("foo.txt","a");
    fwrite($fp,print_r($_SESSION,true));
    fclose($fp);

    Gruß,
    Severin

    --
    They that can give up essential liberty to obtain a little temporary safty deserve neither liberty nor safty.
    -- Benjamin Franklin
    1. dankeschön.

      les es gerade im php-manual nach

      und ich denke ich werd es hinbekommen

      grüße und danke nochmal

      carsten

    2. hi,

      Ich mach es immer so, dass ich solchen Debug-output in ganz normalen HTML-Kommentaren ausgebe. Da wird das Design nicht verhaut

      Es sei denn, eine deiner Variablen würde bspw. --> enthalten, und du maskierst es nicht irgendwie :-)

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
    3. $fp = fopen("foo.txt","a");
      fwrite($fp,print_r($_SESSION,true));
      fclose($fp);

      hallo

      habe obiges nun ausprobieren können, und es funktioniert.

      habe auch mit einer zusätzlichen variable

      $fv=get_defined_vars(); auch andere informationen ausgeben lassen können.

      jetzt ist nur alles sehr unübersichtlich.

      wie bekomme ich diese daten denn nun als HTML ausgegeben?

      vielleicht indem ich am Anfang und am Ende ein <pre> bzw</pre> einsetze??

      Auf jedenfall nocheinmal danke

      und Grüße
      carsten

      1. Hallo,

        wie bekomme ich diese daten denn nun als HTML ausgegeben?

        Du kannst dieses "Errorlog" nach belieben mit HTML formattieren und dann einfach im Browser anschauen.
        Also Zb:

        $fp = fopen("log.html","a");
        fwrite($fp,"<h1>Ausgabe der SESSION-Variable:</h1>");
        fwrite($fp,"<pre>".print_r($_SESSION,true)."</pre>");
        fwrite($fp,"<hr>");
        fclose($fp);

        oder so ähnlich.

        Gruß,
        Severin

        --
        They that can give up essential liberty to obtain a little temporary safty deserve neither liberty nor safty.
        -- Benjamin Franklin