Portal > Foren > PHP > PHP-Programmierung > Cookie wird einfach nicht gelesen ?!?
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 16.06.2006, 21:40 Nach oben    #1
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard Cookie wird einfach nicht gelesen ?!?

Hallo,
ich hab folgendes Problem:

PHP-Code:
$cookie_name=
"adclick_".$save_array['placement_id'].
"_".$save_array['partner_id']."_[".$save_array['placement_id'].
"|".$save_array['campaign_id'].
"|".$save_array['banner_id'].
"|".$save_array['partner_id'].
"]";

 if(isset(
$_COOKIE[$cookie_name]))
   {
    
$partner_array['klickcounted_cookie']=1;

    }
                                         
if(
$hitcount_viewcheck!=
&& $hitcount_==
&& $pid_valid!=
&& $partner_array['klickcounted_cookie']==0)
           {

 
$save_array['bestellung_info'] =  $partner_array['klickcounted_cookie'];
 
$cookieLifetime time()+ 86400;
 
$cookiePath '/';
 
$cvars$save_array['partner_id']."-".time();
  
setcookie($cookie_name,$cvars$cookieLifetime$cookiePath".webfan.de");

                          
                          
$this->save_($save_array);

           }
                
//<- edit: } ist natürlich auch zu 
Der Sinn ist klar: Wird ein Banner geklickt wird ein Cookie gesetzt,
wird es nochmal geklickt soll $partner_array['klickcounted_cookie']=1 sein, und der Klick nicht nochmals abgespeichert.

Nun begibt es sich aber, daß das Cookie nicht gelesen wird, und der Klick auch wenn der Cookie gesetzt ist abgespeichert wird.
(Die anderen Bedingungen funktionieren)

Also $partner_array['klickcounted_cookie'] ist immer leer oder 0 irgendwie obwohl der Cookie vorhanden ist



EDIT: SRRY, ist so besser?

Geändert von Homepagespeicher (16.06.2006 um 22:04 Uhr)
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.06.2006, 21:51 Nach oben    #2
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Formatiere bitte dein Quellcode, der ist so nicht lesbar...
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.06.2006, 22:40 Nach oben    #3
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

// Hab den Code formatiert...

- Also mir ist es absolut schleierhaft warum der Cookie nicht gelesen wird und
$partner_array['klickcounted_cookie'] nicht =1 werden will,
den nur das ist grad das Problem, kurz und formatiert.

Mir fällt absolut nicht ein.

Eigentlich soll die Cookie Abfrage zuvor global geschehen und $partner_array wird der Funktion übergeben, aber all das funzt nicht
$partner_array['klickcounted_cookie'] bleibt immer 0 ???


- Soweit so schlecht die nächste Frage:
Was ist perfomanter?
Die ganze Reloadsperre funktioniert auch über DB, und die Cookie-Abfrage wäre nur um die DB-Abfrage zu sparen - ist das gut oder dünnpfiff?

Aber die Frage bleibt -der Cookie wird ignoriert und ich weiß nicht tokio-hotel

mfg
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.06.2006, 01:09 Nach oben    #4
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

der ist immer noch Null formatiert.... egal...
Cookies können gelöscht werden vom Client. DB-Einträge nicht. Alles andere ist performancetechnisch fast egal. Wobei DB-Zugriffe immer langsam sind.
du weißt das ein Cookie der gesetzt wird erst nach Reload der Page zur Verfügung steht?
Also am besten via Header() die Site neu laden und abfangen, dass er das nur einmal macht....
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.06.2006, 19:12 Nach oben    #5
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

Zitat:
du weißt das ein Cookie der gesetzt wird erst nach Reload der Page zur Verfügung steht?
Also am besten via Header() die Site neu laden und abfangen, dass er das nur einmal macht....
Deshalb hab ich erst :
Zitat:
Eigentlich soll die Cookie Abfrage zuvor global geschehen und $partner_array wird der Funktion übergeben, aber all das funzt nicht
Es soll nur ein Banner angezeigt/geklickt... werden und keine richtige Seite angezeigt...

Versucht hab ich es zunächst mit ob_end_flush();

->cookie einlesen und vars auswerten
->$partner_array entsprechend Werte zuweisen
->ob_end_flush()
->klasse laden und ($partner_array) übergeben

Naja, wenn es halt nicht geht, lass ich die Überprüfung per DB.
Es wird übrigens auch ein session cookie gesetzt der aber mein ich gelesen wird, deshalb wundert mich das der andere Cookie nicht funktioniert...
mh.
Ich werd der Sache auf den Grund gehen...
mfg
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.06.2006, 21:44 Nach oben    #6
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Wann wird der Cookie denn gesetzt?
Weil fakt ist, wenn die Zuweisung nicht geht, dann ist der Cookie einfach nicht gesetzt oder dein Cookiename stimmt nicht...
Lass dir doch einfach mal alle Cookies ausgeben die es gibt?!
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.06.2006, 22:07 Nach oben    #7
Jay
Gast
 
Beiträge: n/a
Standard

PHP-Code:
if(
$hitcount_viewcheck!=
&& $hitcount_==
&& $pid_valid!=
&& $partner_array['klickcounted_cookie']==0)
           { 
Na es scheitert an dieser Bedingung. Du solltest den ganzen Code posten d.h. auch die deklarationen und initialisierungen aller in der Bedingung verwendeten Variablen, weil du da einen Fehler hast.

Außerdem bist du dir sicher, dass du deine Variable $hitcount_ und nicht $hitcount benannt hast?
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.06.2006, 03:20 Nach oben    #8
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

Der Server hat grad irgendwelche Probleme...
---
wie dem auch sei,
Zitat:
Wann wird der Cookie denn gesetzt?
Weil fakt ist, wenn die Zuweisung nicht geht, dann ist der Cookie einfach nicht gesetzt oder dein Cookiename stimmt nicht...
Lass dir doch einfach mal alle Cookies ausgeben die es gibt?!
Der Firefox zeigt die Cookies als gestzt an...
Zitat:
Na es scheitert an dieser Bedingung. Du solltest den ganzen Code posten d.h. auch die deklarationen und initialisierungen aller in der Bedingung verwendeten Variablen, weil du da einen Fehler hast.
Ich hab die Bedingungen alle einzeln durchgetestet ...

Der "Code sieht jetzt ungefähr so aus (ganz auf das wesentliche beschränkt, ganz handelt es sich ursprünglich um bannermanagment von 4webmasters.net
tracking.php
PHP-Code:
<?php
$banner_id
=strip_tags($_GET['banner_id']);
$placement_id=strip_tags($_GET['placement_id']);
$campaign_idstrip_tags($_GET['campaign_id']);
$partner_idstrip_tags($_GET['partner_id']);
$cookie_name ="ad[".$type."]".$placement_id."_".$partner_id."[".$placement_id."|".$campaign_id."|".$banner_id."|".$partner_id."]";

session_start('".$cookie_name."');

$r=  GetEnv("REMOTE_ADDR");
$t=time();
$cookiePath='/';


$p=array();
 if(isset(
$HTTP_COOKIE_VARS['".$cookie_name."']))
{
$string_ strip_tags($HTTP_COOKIE_VARS['".$cookie_name."']);
$string_ explode("-",$string_);
$p['m_session']= $string_[2];
        
$c2_time()- 86400  ;

        if(
$string_[1] >  $c2_)
        {

        
$cookie_found=1;
        }
        else{
$cookie_found=0;}
}
else{
$p['m_session']=session_id();
$cvars$partner_id."-".$t."-".$p['m_session'];
$cookieLifetime=time()+ 86400  ;
setcookie($cookie_name,$cvars$cookieLifetime$cookiePath".webfan.de");
$cookie_found=0;
}

$p['partner_id']=$partner_id;
 if(!
is_numeric($p['partner_id'])){$p['partner_id']=0;}

//   [ ... ]
$partner_array=$p;
ob_end_flush();
Anwendung:
PHP-Code:
$type='click';    //z.B.
include("tracking.php");
//   [ ... banner... ]
$banner_engine->set_stats($banner_id$placement_id$campaign_id'click',$partner_array,$cookie_found); 
banner.class.php
PHP-Code:
//z.B.:
  
function set_stats($banner_id$placement_id$campaign_id$type,$partner_array,$cookie_found)
        {
         if(isset(
$type))
              {

[...]

 if(
$type=='click')
                       {
//@Jay ja_die_heissen_bei_mir_alle_so_string_ :D 
//wie gesagt hab ich die Bedingungen auch EINZELN probiert
//
//  ***

if($hitcount_viewcheck!=&& $hitcount_==&& $pid_valid!=&&  $cookie_found==0)
                          {
                           
//stat --> gesamt und reloadsperre
                          
$this->save_($save_array);
                           
$this->update_max_click_count($campaign_id);
                          }
                       }
                       
//ende click type 
//***
Zitat:
Du solltest den ganzen Code posten d.h. auch die deklarationen und initialisierungen aller in der Bedingung verwendeten Variablen, weil du da einen Fehler hast.
PHP-Code:
 if($type=='click')
{
   
$count_=0;
   
$save_array['partner_id'] = $partner_array['partner_id'];
   
$save_array['bill_to_user_id']="0";
   
$save_array['bill_to_affiliate_id']= $partner_array['partner_id'];
   
$save_array['bill_to_merchant_id']="0";
   
$save_array['type']=$type;
   
$save_array['r']=  GetEnv("REMOTE_ADDR");
   
$save_array['rp']= GetEnv("REMOTE_PORT");  
   
$save_array['ip']=$save_array['r'].".".$save_array['rp'];
   
$save_array['stats_datetime']=time();
   
$n_=time();
   
$save_array['stats_datetime_tstam_old']=(date('Y-m-d H:i:s ',$n_));
   
$url_t $_SERVER["HTTP_REFERER"];
   
$save_array['ref_from_url']=$url_t;
   
$url_tparse_url($url_t);
   
$url_t=  $url_t['host'];
   
$save_array['angezeigt_url']=str_replace("www","",$url_t);
   
$save_array['host_']=  $_SERVER['REMOTE_ADDR'];
   
$save_array['browser']  = getenv("HTTP_USER_AGENT");
   
$save_array['datumuhrzeit'] =(date('Y-m-d H:i:s ',$n_));


   
$query ="SELECT COUNT(site_host) FROM affiliate_kampagnen_merchantrel
                WHERE
                    merchant_campaign_id='"
.mysql_real_escape_string($campaign_id)."'
                AND affiliate_confirm='1'
                AND merchant_confirm='1'
                AND id_affiliate='"
.mysql_real_escape_string($partner_array['partner_id'])."'
                AND site_host='"
.mysql_real_escape_string($save_array['angezeigt_url'])."'
              "
;
   
$resultID = @mysql_query($query);
   
$pid_valid = @mysql_result($resultID,0);

   if(
$pid_valid!=0)
     {
              
$hitcount_=0;
              
$t=time() -  86400  ;
              
$c2_min date('Y-m-d H:i:s ',$t);
              
$query ="SELECT COUNT(*) FROM banner_banner_stats
              WHERE
                    banner_id='"
.mysql_real_escape_string($banner_id)."'
               AND placement_id='"
.mysql_real_escape_string($placement_id)."'
               AND campaign_id='"
.mysql_real_escape_string($campaign_id)."'
               AND type='"
.mysql_real_escape_string($type)."'
               AND
                (
                 ip='"
.$save_array['ip']."'
                 OR
                 session_='"
.$save_array['session_']."'
                )
              AND
                bill_to_affiliate_id='"
.mysql_real_escape_string($partner_array['partner_id'])."'
              AND stats_datetime_tstam_old > '"
.$c2_min."'
             "
;
             
$resultID = @mysql_query($query);
             
$hitcount_ = @mysql_result($resultID,0);
   }else{
$hitcount_=1;}

   if(
$hitcount_==&& $pid_valid!=0)
    {
              
$hitcount_viewcheck=0;
              
$t=time() -  86400  ;
              
$t_now=time();
              
$c2_min date('Y-m-d H:i:s ',$t);
              
$t_now  date('Y-m-d H:i:s ',$t_now);
              
$query ="SELECT COUNT(*) FROM banner_banner_stats
              WHERE
                   banner_id='"
.mysql_real_escape_string($banner_id)."'
               AND placement_id='"
.mysql_real_escape_string($placement_id)."'
               AND campaign_id='"
.mysql_real_escape_string($campaign_id)."'
               AND type='view'
               AND
                (
                 ip='"
.$save_array['ip']."'
                 OR
                 session_='"
.$save_array['session_']."'
                )
              AND
                bill_to_affiliate_id='"
.mysql_real_escape_string($partner_array['partner_id'])."'
              AND stats_datetime_tstam_old > '"
.$c2_min."'
              AND stats_datetime_tstam_old < '"
.$t_now."'
             "
;
                 
$resultID = @mysql_query($query);
                 
$hitcount_viewcheck = @mysql_result($resultID,0);
     }else{
$hitcount_viewcheck=0;}



 if(
$hitcount_viewcheck!=&& $hitcount_==&& $pid_valid!=&& $cookie_found==0)
                          {


                              
//hier hab ich zunerstr  den cookie gesetzt:
                              //setcookie(...);...

                           //stat --> gesamt und reloadsperre
                          
$this->save_($save_array);
                           
$this->update_max_click_count($campaign_id);


                          }
}
//ende click type 

mfg

Geändert von Homepagespeicher (19.06.2006 um 20:55 Uhr)
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.06.2006, 11:09 Nach oben    #9
Benutzer
 
Registriert seit: 31.12.2005
Beiträge: 90
Standard

and again: das soll jemand lesen?
björn ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.06.2006, 14:33 Nach oben    #10
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Wenn der Code wenigstens formatiert und richtig eingerückt wäre...
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 18:16 Nach oben    #11
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

Naja, meiner Meinung nach ist die letzte Klammer falsch eingerückt, ansonsten finde ich den Code relativ schmuck formatiert...
Jedenfalls um es auf den Punkt zu bringen (Bevor ich jetzt wieder falsch rumformatiere)
Geht folgendes ? - (bei mir klappts jedenfalls nicht wie ich mir das vorstelle...

//-> cookie in var einlesen setzten
//-> ob_end_flush
//-> var übergeben ...

mfg
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 20:41 Nach oben    #12
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

schau dir mal deinen letzten PHP-Codeblock an und sag mir was daran bitte formatiert ist? Beachte alleine schon die erste geschweifte Klammer....
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.06.2006, 20:56 Nach oben    #13
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

besser ?
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wo ist mein cookie??? Xean PHP-Programmierung 4 06.11.2006 14:04
Problem mit Cookie und Reloads... Bookworm PHP-Programmierung 10 13.04.2006 12:09
HTML wird einfach nicht formatiert ljungi HTML, XML und CSS 4 19.03.2006 12:43
Auch ein problem mit Cookie Jan PHP-Programmierung 20 25.02.2006 02:31
Cookie funktioniert nicht Snipe PHP-Programmierung 26 16.01.2006 13:47


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45