SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.02.2006, 17:28:11
ben207 ben207 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 12
Cookie setzten

Hallo zusammen,

das Verwendung von Cookies, die ich setze klappt manchmal, manchmal nicht.
Meine Vorgehensweise:
Code:
$CookiValue =  $id. " \n";
$CookiValue .= "Erstellt am " . date("Y-m-d H_i_s") . "\n";
setcookie("CookieName_1", $CookiValue, 1000);
Also ich erstell erst den Cookiename dann den Cookietext und zum Schluss schreibe ich den Gültigkeitswert. Der Cookie wird erstell, aber wenn ich den gesetzten Cookie wider löschen möchte mit:
Code:
setcookie("CookieName_1", "", 0 );
das klappt nicht, der Cooki bleibt einfach bestehen.

Beim einloggen prüfe ich ob schon Cookie gesetzt worden ist mit:
Code:
if ( isset($_COOKIE["CookieName_1"] ))
	return TRUE ;
else
	return FALSE ;
Dieser Check klappt manchmal manchmal nicht ?
IE schein überhautp sie nicht akzeptiert zu haben.
Firfox nur manchmal.

Gibt es in der php.ini oder im Webserver Einstellungen, die das Verhalten der Cookie beeinflussen?
Danke im Voraus.

PHP 4.3.11, Win XP Prof, IIS 6.0, IE 6.0, Firefox 1.5.0.1

Grüße ben207
Mit Zitat antworten
  #2  
Alt 08.02.2006, 09:20:14
BigManu BigManu ist offline
Anfänger
 
Registriert seit: Feb 2006
Beiträge: 17
AW: Cookie setzten

versuche es mal mit

setcookie("CookieName_1", $CookiValue, time()+1000);

und zum logout:

setcookie("CookieName_1", $CookieValue, time()-1000);

das sollte auf jeden fall funktionieren!
Mit Zitat antworten
  #3  
Alt 08.02.2006, 09:48:15
ben207 ben207 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 12
AW: Cookie setzten

Hallo,

für die Zeitangaben habe ich mir inzwieschen eine Funktion gefunden:
Code:
function tage ($anzahl)
{
     $sekunden = time() + 3600 * 24 * $anzahl;
     return $sekunden;
}
Es hat auch nicht viel geholfen :-(
Mit Zitat antworten
  #4  
Alt 08.02.2006, 09:51:54
BigManu BigManu ist offline
Anfänger
 
Registriert seit: Feb 2006
Beiträge: 17
AW: Cookie setzten

hast du mal meine codezeilen ausprobiert?
Mit Zitat antworten
  #5  
Alt 21.02.2006, 17:15:30
ben207 ben207 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 12
AW: Cookie setzten

Hallo,

tschuldige, dass ich nicht früher geantwortet habe.

Habe Dein Vorschlag grade ausprobiert, es funktioniert Einwand frei.
Was muss ich mache um die "Lebensdauer" des Cookies zur verlängern?
Mit meiner Methode wird der Cookie nur unzuverlässig bearbeitet.

Grüße ben207
Mit Zitat antworten
  #6  
Alt 21.02.2006, 21:16:11
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Cookie setzten

Zitat:
Zitat von ben207
Was muss ich mache um die "Lebensdauer" des Cookies zur verlängern?
Damit ein Cookie länger gültig ist, musst du einen entsprechend angepasst UNIX-Timestamp als 3. Parameter an setcookie() übergeben.
Mit Zitat antworten
  #7  
Alt 22.02.2006, 08:25:19
BigManu BigManu ist offline
Anfänger
 
Registriert seit: Feb 2006
Beiträge: 17
AW: Cookie setzten

einfach die zahl hinten erhöhen oder verringern:

setcookie("CookieName_1", $CookiValue, time()+"ZAHL IN SEKUNDEN");

und logout dann wieder

setcookie("CookieName_1", $CookiValue, time()-"ZAHL IN SEKUNDEN");

Grüße,
BigManu
Mit Zitat antworten
  #8  
Alt 22.02.2006, 11:54:49
ben207 ben207 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 12
AW: Cookie setzten

Hallo,

habe bissen rum probiert, für die Tage habe mir eine externen Funktion gebaut(eigentlich aus dem Netz gezogen):
Code:
funktion tage ($tage)
{
#	$sekunden = time() + 3600 * 24 * $tage;
	$sekunden = 3600 * 24 * $tage;
	return $sekunden;
}
Übergeben werden die Tage, sie werden aus Sekunden ungerechten, den Sekunden Teil habe ich auskommentiert.
und direkt bei setzten der Cookie eingebaute:
Code:
setcookie("CookieName_1", $CookiValue, ( time() + tabe(1000) ) );
Macht das ein Unterschied ob ich die Zeitberechnung direkt in der PHP Funktion "setcookie" mache oder nicht, wenn ich sie in der Funktion mache wird der Cookie gesetzt.
Aus meiner kurzen Erfahrung macht das was aus, falls jemand weis warum, würde ich gerne eine Erklärung bekommen.

Der Cookie wird gesetzt, aber mit löschen klappt das nicht so ganz :-(
Cookie löschen sieht bei mir so aus:
Code:
setcookie("CookieName_1", $CookiValue, (time() - tage(1000) ) );
Die Variable "$CookiValue" habe ich Mal mit Inhalt gelassen, Mal nur ein Leerzeichen, Mal nur initialisiert.
also:
Code:
$CookiValue = " "; // Leerzeichen
$CookiValue = ""; // initialieseiren
$CookiValue = "jergend ein Text";
Liegt es an dem Wert der Variable "$CookieValue" oder dem Datum, dass der Cookie nicht gelöscht wird?

Grüße ben207
Mit Zitat antworten
  #9  
Alt 22.02.2006, 18:19:22
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Cookie setzten

Zitat:
Zitat von ben207
PHP-Code:
funktion tage ($tage)
{
#    $sekunden = time() + 3600 * 24 * $tage;
    
$sekunden 3600 24 $tage;
    return 
$sekunden;

Gibt es einen besonderen Anlass, dass du die obere Werzuweisung der Variablen $sekunden auskommentiert und durch die untere ersetzt hast? So berechnest du lediglich wieviele Sekunden $tage Tage haben. Die Anzahl an Sekunden musst du aber noch zum dem aktuellen Datum addieren, um das Ablaufdatum zu erhalten.

Zitat:
Zitat von ben207
PHP-Code:
setcookie("CookieName_1"$CookiValue, ( time() + tabe(1000) ) ); 
Macht das ein Unterschied ob ich die Zeitberechnung direkt in der PHP Funktion "setcookie" mache oder nicht, wenn ich sie in der Funktion mache wird der Cookie gesetzt.
Ob die Berechnung durch eine extra Funktion oder direkt in setcookie() erfolgt, ist unerheblich, so lange die Berechnung korrekt ist.

Zitat:
Zitat von ben207
Der Cookie wird gesetzt, aber mit löschen klappt das nicht so ganz :-(
Woran machst du fest, dass der Cookie nicht gelöscht wird?
Mit Zitat antworten
  #10  
Alt 23.02.2006, 10:41:49
ben207 ben207 ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 12
AW: Cookie setzten

Hallo,

mit dem Datum wollte ich Gewissheit erlange, wo das Datum berechten werden muss, das Auskommentieren in der Funktion "tage" ist nur zum testen.

Zitat:
Woran machst du fest, dass der Cookie nicht gelöscht wird?
Im Firefox sehe ich die Cookie über den plugin "AnEC Cookie Dietor", wenn ich mich auslogge und beim ausloggen "löschen" ich den Cookie mit
Code:
 setcookie("CookieName_1", $CookiValue, ( time() - tabe(1000) ) );
ist der Cookie noch da.
Beim IE funktioniert das löschen problemlos, das auslesen der Cookie dagegen weniger.
Also wenn ich das Fenster einfach nur schlisse, der Cookie ist da, wie geplant, wenn ich den Browser öffnen und die Seite aufrufen wird der Cookie beim ersten laden nicht erkannt, erst nach dem zweitem Lade wird der Cookie erkannt.
Woran kann diese Verhalten von IE liegen?

Grüße ben207
Mit Zitat antworten
Antwort


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

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.

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

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
cookie setzen, cookie auslesen, cookie... Sirius PHP Grundlagen 11 15.11.2009 14:53:33
Cookie NanoCyte PHP Grundlagen 5 14.01.2004 13:02:34
problem mit session und cookie feuervogel PHP für Fortgeschrittene und Experten 21 10.01.2004 16:45:17
refer in cookie verstecken? Silencer PHP für Fortgeschrittene und Experten 1 25.03.2003 13:30:43
session_decode(); vs. Cookie? shockfreezer PHP für Fortgeschrittene und Experten 1 08.03.2003 17:55:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:29:38 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt