CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
27.08.2002, 23:47:22
|
Junior Member
|
|
Registriert seit: Jul 2002
Ort: Heiden, NRW
Alter: 38
Beiträge: 218
|
|
Cookies falsch gesetzt ?!?
Ich habe nun folgendes geproggt
setcookie ("vote", "", time() - 86400);
if($HTTP_COOKIE_VARS["vote"] == "yes"){
echo "Sie können innerhalb von 24 Stunden nur 1mal abstimmen !"; }
else {
$counter = "$vote_id.txt";
$fp = fopen($counter,"r");
$zahl = fgets($fp,10);
fclose($fp);
$zahl++;
$fp =fopen($counter,"w");
flock($fp,2);
fputs($fp, $zahl);
flock($fp,3);
fclose($fp);
$value = "yes";
setcookie ("vote", $value, time()+86400);
}
Kann mir mal jemand sagen, warum ich bei einem Reload der Seite trotzdem weiterhin abstimmen kann ?? Hab ich da nen Denkfehler drin oderso ?
Bis denne ... MARV
Geändert von nivram (27.08.2002 um 23:56:17 Uhr)
|
28.08.2002, 00:46:30
|
Junior Member
|
|
Registriert seit: Apr 2002
Beiträge: 248
|
|
gleiche werte
um einen cookie zu löschen musst du ihn mit exakt denselben werten (nur halt der negativen zeit) setzen.
also wenn du ihn mit
PHP-Code:
setcookie ("vote", "yes", time()+86400);
setzt, dann löscht du ihn mit
PHP-Code:
setcookie ("vote", "yes", time()-86400);
lg, ingo
|
28.08.2002, 09:31:08
|
Junior Member
|
|
Registriert seit: Jul 2002
Ort: Heiden, NRW
Alter: 38
Beiträge: 218
|
|
Vielen Dank, es hat geklappt !
Aber bei php.net stand, das man das Cookie so löschen muss,
setcookie ("vote", "" , "time() - 86400")
wenn man es so gesetzt hat !
setcookie ("vote", "yes" , "time() + 86400")
Bis denne ... MARV
|
28.08.2002, 11:16:55
|
|
Junior Member
|
|
Registriert seit: Aug 2002
Ort: Münster/Germany
Beiträge: 324
|
|
Anmerkung: Die negative Zeit muss nich unbedingt der positiven Entsprechen, also z.B. kann man ein Cookie mit time()+86400 auch mit time()-1 löschen oder einfach mit 0.
__________________
Member of the PHP Development Group
spic@php.net
www.php.net
|
28.08.2002, 12:00:05
|
Member
|
|
Registriert seit: Apr 2002
Beiträge: 821
|
|
das Script sendet immer, das das Cookie gelöscht werden soll. Manchmal sendet es auch, das das Cookie gelöscht und gesetzt werden soll. Der Browser kommt dann nicht klar, ob er jetzt ein cookie setzten soll oder nicht.
Desweiteren hat nicht jeder Browser Cookies aktiviert, dann bringt die Sperre garnix.
Ein Cookie kann man auch mit setcookie('name'); löschen
|
28.08.2002, 12:31:05
|
Junior Member
|
|
Registriert seit: Jul 2002
Ort: Heiden, NRW
Alter: 38
Beiträge: 218
|
|
@ Spic
Was willst du mir damit sagen ?
@Progman
Wie kann ich es den Browsersicher machen, also das der Browser keine Probleme bekommt ?
Bis denne ... MARV
|
28.08.2002, 13:02:31
|
|
Junior Member
|
|
Registriert seit: Aug 2002
Ort: Münster/Germany
Beiträge: 324
|
|
Das war für nur so eine erklärende Anmerkung.
Zitat:
Beim Löschen eines Cookies sollten sie sicher stellen, dass die Verfallszeit in der Vergangenheit liegt, damit ihr Browser "zufrieden" ist.
|
Du muss also nur eine vergangene Zeit angeben, das Beispiel verwendete time()+86400 und time()-86400, was eine User dazu verleiten könnte anzunehmen, dass man immer die gleiche Zeit abziehen muss...
__________________
Member of the PHP Development Group
spic@php.net
www.php.net
|
28.08.2002, 13:26:35
|
Junior Member
|
|
Registriert seit: Apr 2002
Beiträge: 248
|
|
sagt mal
wie könnt ihr über so einen scheiss nur so lange diskutieren?
tschuldigt meine ausdrucksweise, aber das ist doch sinnlos..
mein beispiel mit negativer zeit funkt und ist eindeutig ersichtlich.
da drüber über 10 postings lang zu diskutieren ob das nun das selbe sein muss oder nicht ist doch völlig hinfällig, oder?
jedeR der/die sich das anschaut, wird feststellen, es funkt, es in zukunft so machen, und nicht darüber nachdenken, ob da irgendwas passiert...
im übrigen reicht es nicht einfach nur eine negative zeit anzugeben. die negative zeit muss mindestens so lange zurückliegen, dass die "cookiesetzzeit" unterschritten ist. mit time()-1 wird die zeit, die der cookie noch zu leben hat um eine sekunde verkürzt.
flamt mich nur nieder.. meins nicht böse, fällt mir nur schon seit geraumer zeit auf und ich finds mehr verwirrend als produktiv.. wobei ich den informationsaustausch hier im forum keinesfalls gefährden möchte.. ;-)
lg, ingo
|
28.08.2002, 13:38:49
|
|
Siehs so:
Wenn der Fragende es auf Anhieb verstanden hat - gut - falls nicht sind die weiteren Posts doch nützlich.
Außerdem finde ich das ein wenig Erklärung doch mehr hilft als der reine Quelltextbrocken.
Immerhin wird hier versucht die Hohe Kunst des (PHP)Kochens zu lehren und nicht nur (PHP)Kochrezepte beizubringen, wenn ich mich mal so blümerant ausdürcken darf. ;-)
|
28.08.2002, 14:38:40
|
|
Junior Member
|
|
Registriert seit: Aug 2002
Ort: Münster/Germany
Beiträge: 324
|
|
Das dumme ist nur manchmal, das Anfänger solche Sachen lesen und u.U. falsche Tatsachen vermuten...
Zitat:
N00B liest:
+1000 -1000
N00B denkt:
Aha, ich muss also den selben Wert abziehen, aber was, wenn ich den Wert nicht kenne...
|
So entstehen Threads....
Schau mal unter www.php.net/setcookie nach, wieviele User dort Anmerkungen über Probleme gepostet haben.
__________________
Member of the PHP Development Group
spic@php.net
www.php.net
Geändert von SPiC (28.08.2002 um 14:46:17 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:04:19 Uhr.
|