Cookie in Include-Datei setzen?

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

  • Cookie in Include-Datei setzen?

    Hallo zusammen,

    ich rätsele gerade wie phpadsnew Cookies setzen kann.

    Die Funktion wird mitten in einer Seite eingebunden. Also sind doch bereits Ausgaben erfolgt und ein ob_start() kann ich auch nirgends finden.
    PHP-Code:
    irgentwelcher HTML-Code
    <?php
        
    if (@include(getenv('DOCUMENT_ROOT').'/phpadsnew/phpadsnew.inc.php')) {
            if (!isset(
    $phpAds_context)) $phpAds_context = array();
            
    $phpAds_raw view_raw ('zone:1'0'''''0'$phpAds_context);
            if (
    $phpAds_raw['html']) {
                echo 
    $phpAds_raw['html'];
            } 
        }
    ?>
    Hat mir jemand einen Hinweis?

    Grüße
    Ludwig

  • #2
    Und wo wird in diesem fraglichen Code ein Cookie gesetzt ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      In dem phpadsnew.inc.php werden etliche weitere Includes eingebunden. Dort muss das irgentwo passieren.
      PHP-Code:
          // Include required files
          
      require    (phpAds_path."/config.inc.php"); 
          require (
      phpAds_path."/libraries/lib-io.inc.php");
          require (
      phpAds_path."/libraries/lib-db.inc.php");
          
          
          if ((
      $phpAds_config['log_adviews'] && !$phpAds_config['log_beacon']) || $phpAds_config['acl'])
          {
              require (
      phpAds_path."/libraries/lib-remotehost.inc.php");
              
              if (
      $phpAds_config['log_adviews'] && !$phpAds_config['log_beacon'])
                  require (
      phpAds_path."/libraries/lib-log.inc.php");
              
              if (
      $phpAds_config['acl'])
                  require (
      phpAds_path."/libraries/lib-limitations.inc.php");
          }
          
          require    (
      phpAds_path."/libraries/lib-view-main.inc.php"); 
      Zuletzt geändert von ludwig33; 04.01.2006, 17:12.

      Kommentar


      • #4
        Nur, dass du uns immer noch nicht die stelle lieferst, die den cookie setzt.

        deine frage ist also eigentlich überflüssig. such erstmal die stelle. und wenn diese tatsächlich mitten in der "seite" erscheint, darfst du nochmal fragen.

        Kommentar


        • #5
          Tipp suche in der Region um session_start()

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            eher unwahrscheinlich. Der gutte soll mal lieber in der banner-view-datei gucken, oder aber in der click-count-datei.

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              Nur, dass du uns immer noch nicht die stelle lieferst, die den cookie setzt.
              So steht es dort im Code(lib-io.inc.php):
              PHP-Code:
                              // Set cookies
                              
              list ($name$value$expire) = $v;
                              
              setcookie ($name$value$expire'/'); 
              Das hilft mir nicht wirklich weiter. Eine dumme Frage bevor ich weiter suche. Gibt es andere Funktionen ausser setcookie() um Cookies zu setzen?
              Zuletzt geändert von ludwig33; 04.01.2006, 19:33.

              Kommentar


              • #8
                Wenn du eine Session startest wird unter meist auch ein Cookie gesetzt , jenachdem wie du an die Sessionid kommst (COOKIE oder URL) .

                Standartmäsig allerdings über Cookies .

                Gruß Sono

                Kommentar


                • #9
                  sono hat recht. ich selber hab noch nie ein einziges cookie manuell gestezt bzw. setzten müssen. hängt aber natürlich wieder von der server-config ab..
                  2 meiner pages:

                  Kommentar


                  • #10
                    wenn man cookies setzt, dann mit sicherheit nicht um eine sessionID zu speichern. Darum geht es in diesem Fall aber auch gar nicht!

                    der codeschnippsel ist absolut aus dem zusammenhang gerissen.

                    Kommentar


                    • #11
                      OffTopic:
                      der codeschnippsel ist absolut aus dem zusammenhang gerissen.
                      aber immerhin richtig formatiert
                      2 meiner pages:

                      Kommentar


                      • #12
                        Original geschrieben von TobiaZ
                        der codeschnippsel ist absolut aus dem zusammenhang gerissen.
                        So kommen wir nicht weiter.
                        Ich wollte damit nur zeigen, dass definitiv setcookie genutzt wird. Es macht keinen Sinn hier komplette Libs von phpadsnew zu zeigen, um die Funktion zu klären.

                        Es ging mir hier nur darum zu fragen, ob jemandem ein Trick bekannt ist, der es ermöglicht innerhalb einer Seite ein Cookie zu setzen, obwohl bereits eine Ausgabe erfolgt ist. Da dies anscheinend niemand kennt, werde ich mich nun den Zend-Debugger anwerfen. Da ich auf dem Produktivsystem nicht testen, kann muss ich erst lokal eine Testumgebung bauen.

                        Wie ich im ersten Posting geschrieben habe kann man ein Include von phpadsnew "mitten" in einer Seite verwenden und es werden definitiv Cookies gesetzt. Diese Funktion benötige ich für eine existierende Anwendung. Bei einer neuen Anwendung würde ich natürlich am Anfang ein inlcude header(in dem dann die Cookies gesetzt werden) einfügen und der Fisch wäre geputzt. Leider ist dies dort nicht mit vertretbarem Aufwand möglich.

                        Ich melde mich wieder, wenn ich kapiert habe wie das bei phpadsnew funktioniert.

                        Grüße
                        Ludwig

                        Kommentar


                        • #13
                          Wie funktioniert das genau mit den Cookies und Includes? Wann werden sie gesetzt und wann nicht?

                          Ich habe nämlich im moment das Problem, das in meinem Script ein Cookie einfach nicht gesetzt wird. Doch sonst funktionieren die Cookies einwandfrei.

                          Kommentar


                          • #14
                            Oh Leute, Dank Zend habe ich es nun herausgefunden, das ist vielleicht ein Trick.

                            In der Datei in der man das Cookie setzen möchte wird Folgendes eingebunden:
                            PHP-Code:
                            <div id="dummy" style="position: absolute; left: 0px; top: 0px; visibility: hidden;">
                            <
                            img src='http://localhost/_set_cookie.php' width='0' height='0' alt='' style='width: 0px; height: 0px;'>
                            </
                            div
                            Die eingebundene PHP-Datei(_set_cookie.php)
                            PHP-Code:
                            <?php
                            setcookie
                            ("ludwig""test"time()+60);

                            header ("Content-Type: image/gif");
                            header ("Content-Length: 43");

                            // 1 x 1 gif
                            echo chr(0x47).chr(0x49).chr(0x46).chr(0x38).chr(0x39).chr(0x61).chr(0x01).chr(0x00).
                                 
                            chr(0x01).chr(0x00).chr(0x80).chr(0x00).chr(0x00).chr(0x04).chr(0x02).chr(0x04).
                                  
                            chr(0x00).chr(0x00).chr(0x00).chr(0x21).chr(0xF9).chr(0x04).chr(0x01).chr(0x00).
                                 
                            chr(0x00).chr(0x00).chr(0x00).chr(0x2C).chr(0x00).chr(0x00).chr(0x00).chr(0x00).
                                 
                            chr(0x01).chr(0x00).chr(0x01).chr(0x00).chr(0x00).chr(0x02).chr(0x02).chr(0x44).
                                 
                            chr(0x01).chr(0x00).chr(0x3B);
                            ?>
                            Da wäre ich selbst nie darauf gekommen.

                            Grüße Ludwig

                            Kommentar


                            • #15
                              Original geschrieben von ludwig33
                              Da wäre ich selbst nie darauf gekommen.
                              OffTopic:
                              Jeder, der halbwegs anständig programmiert, vermutlich auch nicht.
                              Aber ist doch immer wieder schön, was für Krücken man sich alles einfallen lassen kann, um sich vor einer ordentlichen Strukturierung seiner Scripte zu drücken ...
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X