setcookie () -- bitte um Hilfe

Remo Böni

Angesehenes Mitglied
Hallo ich habe folgenden Code um meinen Werbe Layer uf meiner Webseite anzuzeigen:


CODE
<style type="text/css">
<!--
#sponsorAdDiv {position:absolute; height:1; width:1; top:0; left:0;}
-->
</style>
<script LANGUAGE="JavaScript1.2">


adTime=10;  // seconds ad reminder is shown
chanceAd=1; // ad will be shown 1 in X times (put 1 for everytime)

var ns=(document.layers);
var ie=(document.all);
var w3=(document.getElementById && !ie);
adCount=0;
function initAd(){
if(!ns && !ie && !w3) return;
if(ie) adDiv=eval('document.all.sponsorAdDiv.style');
else if(ns) adDiv=eval('document.layers["sponsorAdDiv"]');
else if(w3) adDiv=eval('document.getElementById("sponsorAdDiv").style');
randAd=Math.ceil(Math.random()*chanceAd);
       if (ie||w3)
       adDiv.visibility="visible";
       else
       adDiv.visibility ="show";
if(randAd==1) showAd();
}
function showAd(){
if(adCount<adTime*10){adCount+=1;
if (ie){documentWidth  =document.body.offsetWidth/2+document.body.scrollLeft-20;
documentHeight =document.body.offsetHeight/2+document.body.scrollTop-20;}
else if (ns){documentWidth=window.innerWidth/2+window.pageXOffset-20;
documentHeight=window.innerHeight/2+window.pageYOffset-20;}
else if (w3){documentWidth=self.innerWidth/2+window.pageXOffset-20;
documentHeight=self.innerHeight/2+window.pageYOffset-20;}
adDiv.left=documentWidth-200;adDiv.top =documentHeight-200;
setTimeout("showAd()",100);}else closeAd();
}
function closeAd(){
if (ie||w3)
adDiv.display="none";
else
adDiv.visibility ="hide";
}
onload=initAd;
//End-->
</script>

<div id="sponsorAdDiv" style="visibility:hidden">

<table><tr><td align="center" valign="middle">

<!--*****EDIT THIS MESSAGE*****-->

<a href="http://www.brennbar.org/shop_mo" target="_blank"><img border="0" src="hand.gif"></a><br><br><br>
Dieses Fenster schliesst sich in ein paar Sekunden!

<!--*****EDIT THE ABOVE MESSAGE*****-->
</td></tr></table>
</div>



Jetzt habe ich folgendes Problem. Jedes mal wenn ich die Seite aufrufe kommt mein Flayer eingeblendet. Doch jetzt möchte ich ein Cookie setzten, so dass dieser Werbeflayer nur alle 24 Stunden oder so eingeblendet wird.

Ich habe mich natürlich schon ein wenig rumgeschaut und kam drauf dass man Cookies mit Javascript setzten, überprüfen ect. kann doch den einzigen Code den ich im Internet fand war " Cookie und PopUp " doch das funzt irgendwie nicht da der Befehl windows.open= gebraucht wird. Ich jedoch kein neues Fenster öffen will sondern nur mein Werbelayer einblenden will.

-- java Script --


CODE
<script LANGUAGE="JavaScript">
<!-- Verstecken für ältere Browser --
var expDays = 2;
// Anzahl der Tage, die das Cookie gültig sein soll
var page = "popup.html";
// Seite, die aufgerufen wird
var windowprops = "width=340,height=380,left=0,top=0,location=no,
toolbar=no,menubar=no,scrollbars=no,resizable=yes";
// Angabe über die neue Seite: Breite, Höhe, Ort, Aussehen

// Überprüfung, ob Cookie gesetzt:
function checkCount() {
var count = GetCookie('count');
// Wenn der Zähler Null ist, wird er auf 1 gesetzt,
// das Cookie gesetzt und das neue Fenster geöffnet:
if (count == null) {
count=1;
SetCookie('count', count, exp);
window.open(page, "", windowprops);
}
// Anderenfalls wird nur der Zähler erhöht
// und das Cookie überschrieben.
else {
count++;
SetCookie('count', count, exp);
}
}

//Cookie lesen:
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

// Cookie-Wert auslesen:
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

// Cookie setzen:
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

// Ende verstecken -->
</script>





Also ging ich weiter auf die Suche, da erkannte ich das mann ein Cookie auch per php setzten kann. Doch davon habe ich keinen blassen Schimmer.


Was ich gerne hätte:

Cookie setzten damit der Werbelayer nur einmal am Tag ( oder irgend eine Zeit ) eingeblendet wird.

PHP oder Javascript -- egal---

Kann mir villeicht jemand den oberen Java Code so umändern dass es funzt und nicht mehr ein Pop-Up geöffnet wird.

Oder kann mir jemand ein Stückchen php coden, dass mir ein Cookie setzt und der Werbelayer nach meinen Vorstellungen eingeblendet wird ??

Ich wäre euch sehr sehr Dankbar


Mit freundlichen Grüssen

Remo
 
lieber rxboe,

ich glaube nicht, dass jemand dein langes post durchforsten wird und 4free dir diesen dienst leistet. entweder strippst du den code bis auf die wesentlichen teile runter, oder du wirst dir bezahlte hilfe suchen müssen.

gruss
josh
 
Alles klar....

Habe ich mir hier auch gedacht....

Hat sich erledigt, bekam Hilfe aus einem anderem Forum.

Danke trotzdem

MFG
Remo
 
Zurück
Oben