include ->> checkuser ->> header fehler !

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

  • include ->> checkuser ->> header fehler !

    Hallo leute,

    ich versuche jetz mal mein problem zu erklären.

    Ich habe eine index.php in der steht drin

    PHP-Code:
    <?PHP include("includes/secret.php")?>
    so in der secret.php steht ganz oben

    PHP-Code:
    <?PHP include("includes/checkuser.php")?>
    In der Checkuser.php steht folgendes

    PHP-Code:
    <?php 
    session_start 
    (); 
    if (!isset (
    $_SESSION["user_id"])) 

    header ("Location: denied.php"); 

    ?>

    So das kann aber nicht Funktionieren weil ich mich ja immernoch auf der index.php befinde und da auch bleiben will in der einen Tabelle drin darum suche ich schon die ganze zeit eine möglichkeit diesen Punkt header ("Location: denied.php"); anders zu machen aber leider bisher ohne erfolg.

    Ich hoffe das war einigermaßen verständlich

    mfg

    greez

  • #2
    OffTopic:
    wie, du bist in einer tabelle? komm sofort daraus!
    was meinst du mit "anders" machen. was willst du denn?

    Kommentar


    • #3
      ich habe eine page

      rechts navi mitte eine tabelle wo halt alle daten sind und wenn ich dann die checkuser in dieser tabelle drinne habe dann kann ich die funktion header nicht verwenden dann kommt der fehler

      header already set by index.php oder so in der art


      weist du jetz was ich meine???


      greez

      Kommentar


      • #4
        jetzt, wo du den fehler genannt hast, schon.
        schau dir die ob_* funktionen an, output buffering kann dir helfen.

        Kommentar


        • #5
          Ich verstehe das nicht !!! angenommen ich schreibe die checkuser.php so!
          dann dürfte doch wenn man eingeloggt ist das "bla" nicht auf der seite zu sehen sein !

          aber es ist trotzdem da !!!


          PHP-Code:
          <?php
          if (!isset ($_SESSION["user_id"])) { 
          ob_start();
          print 
          "bla";
          ;}
          ?>
          also muss doch was grundsätzliches falsch sein oder nicht??

          ich habe auch schon in der login.php nachgesehn da habe ich auch das allergleiche stehen $_SESSION["usr_id"]

          ich komm nemmer weiter......


          greez

          Kommentar


          • #6
            ich bin ja sooooo doof :-(

            als ich mir eben nochmal durchgelesen habe ists mir aufgefallen...

            da ist ein E zuviel

            mist aber bleibt immernoch die frage wie ich das mit dem ob_* mache



            greez

            Kommentar


            • #7
              mit ob kannst du die ganze ausgabe puffern, d.h. du musst das buffering vor der allerersten ausgabe einschalten, dann kannst du ruhig deine header benutzen und anschließend, nachdem die ausgabe fertig ist, den buffer-inhalt an den client schicken. so würden die header() befehle, die den http-header bilden, abgearbeitet werden, bevor die ausgabe erfolgt.

              Kommentar


              • #8
                boa sorry ich verstehe das ned bin noch recht neu in php

                aber gibt es nicht einfach einen ganz billigen befehl der automatisch auf eine andere site verlinkt so wie halt

                header ("Location: denied.php");

                nur ein anderes bei html gibt es doch auch sowas

                <meta http-equiv="refresh" content="0; URL=http://bla">

                ich hatte des auch schon mit dem befehl eingebaut aber das ist zu langsam man kann da noch die secret seite sehen bevor die denied.php kommt

                wenn du mir das mit der ob_* noch anders erklären kannst benutz ich das auch aber ich verstehs halt ned im moment



                greez

                Kommentar


                • #9
                  http://de3.php.net/manual/de/ref.outcontrol.php

                  Kommentar


                  • #10
                    ja auf dieser seite war ich auch schon.

                    Kommentar


                    • #11
                      und was hast du nicht verstanden?

                      Kommentar


                      • #12
                        ich verstehe
                        1. die eigentliche funktion des teils nicht also was ich davon habe wenn ich des so mache
                        2. warum es nicht einen einfacheren befehl gibt *g* ich will ja nur eine automatische weiterleiung die schneller ist als die html version



                        greez

                        Kommentar


                        • #13
                          die frage nummer zwei stellst du nächstes mal deiner nächsten weiblichen verwanden mütterlicherseits, ok?

                          zu 1.
                          mit output buffering lässt sich die ganze ausgabe puffern und erst dann ausgegeben, wenn "nichts dazwischenkommt". sollte dazwischen ein header kommen, der die location ändert, wird dieser auch richtig ausgeführt, da keine ausgabe stattgefunden hat.

                          ab jetzt aber selbst denken.

                          Kommentar


                          • #14
                            achso jetz habe ich das ganze verstanden *g*

                            zu frage 1 ich habe etwas gefunden was schneller ist ;-)


                            <SCRIPT LANGUAGE="JavaScript">location='http://bla.de/index.php?admin=verwehrt'</SCRIPT>

                            Das ist so schnell dass man den Verbotenen Inhalt nicht sehen kann :P



                            danke für deine Hilfe mit der ob_* Funktion


                            greez

                            Kommentar


                            • #15
                              ich schalte im browser js aus und sehe den inhalt.
                              streng dich an, so viel ist es nicht.

                              Kommentar

                              Lädt...
                              X