Login  Regeln Aktuelles Datum und Uhrzeit: 21.11.2008, 18:56  
Startseite
Registrieren
Profil
Suchen
Mitgliederliste
Verzeichnis
Impressum



Partner
kostenlose Homepage
Fussball
Kostenloses Forum
SMS kostenlos
Webhosting
Webmasterportal
Kostenlos
Kredit ohne Schufa
Esoterik-Forum
Selbsthilfeforum
Artikel Backlink
Datenrettung
Unterschied setcookie() und $_COOKIE = ""

 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Serverseitige Websprachen
Vorheriges Thema anzeigen Nächstes Thema anzeigen 
Autor Nachricht
Xanni
Stammuser [User]
Stammuser



Anmeldung: 11.11.07
Beiträge: 35

BeitragVerfasst am: 27.08.2008, 11:31    Titel: Unterschied setcookie() und $_COOKIE = "" Antworten mit Zitat

hallo,

eine kleine Frage. Angenommen ich hab einen Code, in dem ich am Anfang mit setcookie() einen Cookie setze, nennen wir ihn Babbel. Nun möchte ich etwas später im Code den Wert von Babbel ändern. Offensichtlich würde das mit beiden der folgenden Befehlen gehen:

setcookie("Babbel", $wert, time()+3600);
$_COOKIE["Babbel"] = $wert;

Ist das scheißegal welchen ich davon benutze oder gibts Vor- und Nachteile?

Ich hoffe jemand löst dieses superschwere Rätsel Winken
Danke^^

_________________
Wake up, my friend... the Matrix has You.


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
800XE
Bekannter [Mod]
Bekannter



Anmeldung: 24.10.04
Beiträge: 1379
Wohnort: Speyer

BeitragVerfasst am: 27.08.2008, 22:48    Titel: Re: Unterschied setcookie() und $_COOKIE = "" Antworten mit Zitat

Xanni hat folgendes geschrieben:
Ich hoffe jemand löst dieses superschwere Rätsel Winken

TEste es und du wirst feststellen


Xanni hat folgendes geschrieben:
$_COOKIE["Babbel"] = $wert;

setzt die $Variable aber nicht den $Cookie

_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
800XE
Bekannter [Mod]
Bekannter



Anmeldung: 24.10.04
Beiträge: 1379
Wohnort: Speyer

BeitragVerfasst am: 28.08.2008, 02:17    Titel: Re: Unterschied setcookie() und $_COOKIE = "" Antworten mit Zitat

//EDIT zum Post zuvor
Xanni hat folgendes geschrieben:
ich am Anfang mit setcookie() einen Cookie setze,

setcookie("Babbel", $wert, time()+3600);
$_COOKIE["Babbel"] = $wert;

Ist das scheißegal welchen ich davon benutze oder gibts Vor- und Nachteile?

Der setCookie ist ein Befehl um (http)HeaderZeilen zu ergänzen .... der Cookie steht jetzt glaub garnicht zur verfügung .... erst beim nächsten PageView .... wenn der Cookie vom Server zurückgekommen ist und vom Apach in die $_COOKIE "verschoben" wurde

wenn du ihn nicht nur setzen, sondern auch hier und jetzt nutzen willst ....

Code:

$KeksName="Babbel";
$KeksWert="Butterkeks";
setcookie($KeksName, $_COOKIE[$KeksName] = $wert, time()+3600); 

oder
Code:

$KeksName="Babbel";
$_COOKIE[$KeksName]="Butterkeks";
setcookie($KeksName, $_COOKIE[$KeksName], time()+3600); 

_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
Xanni
Stammuser [User]
Stammuser



Anmeldung: 11.11.07
Beiträge: 35

BeitragVerfasst am: 28.08.2008, 11:26    Titel: Antworten mit Zitat

Der eigentliche Unterschied zwischen den beiden Befehlen ist mir klar.

Ich frage mich nur, wo beim *bearbeiten des bestehenden Cookies* der Unterschied ist. $_COOKIE = Babbel setzt zwar nur die Variable und nicht den Cookie, aber wenn der Cookie zuvor mit setcookie() sowieso schon gesetzt worden ist, macht ein erneutes setcookie() doch nichts anderes als $_COOKIE = Babbel, nämlich nur die Variable, also den Wert, ändern.

oder ??

Verstehst was ich meine?

_________________
Wake up, my friend... the Matrix has You.


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
umt
Beliebter [User]
Beliebter



Anmeldung: 29.11.07
Beiträge: 310

BeitragVerfasst am: 28.08.2008, 15:54    Titel: Antworten mit Zitat

Ich glaube setcookie() ändert in dem Fall den Wert des Cookies auf dem Rechner des Users und $_COOKIE = Babbel nicht, sondern nur in dem Script, das gerade auf dem Server abgearbeitet wird.

Bitte korrigiert mich, wenn ich da falsch liege.
Aber das macht ihr ja sowieso, gell? Sehr glücklich

_________________
www.jexlab.net - Webentwicklung zu fairen Konditionen
www.netzonaut.de - Blog zum Thema Webentwicklung, Internet, Linux und OpenSource-Software


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
800XE
Bekannter [Mod]
Bekannter



Anmeldung: 24.10.04
Beiträge: 1379
Wohnort: Speyer

BeitragVerfasst am: 28.08.2008, 20:31    Titel: Antworten mit Zitat

umt hat folgendes geschrieben:
Ich glaube setcookie() ändert in dem Fall den Wert des Cookies auf dem Rechner des Users und $_COOKIE = Babbel nicht,

richtig
umt hat folgendes geschrieben:
sondern nur in dem Script, das gerade auf dem Server abgearbeitet wird.
falsch


----- Beim User ist HTML ..... bein USER ist kein PHP

Beim User kommt der COOKIE an oder kommt nicht an
hiermit muß ich vielleicht äleteres Post von mit koriegieren ... wegen der Reihenfplge

Also,
PHP make setcookie = ergänzt httpHeaderZeilen ... sendet Seite un Browser ... Browser speichert Header .... User klickt in Browser ... brouwser fordert Seite bei WebServer an .....
brouwser fordert Seite bei WebServer an, und schickt bei dieser Anforderung auch eventuell vorhandene Cookies mit, die der Server das letzte mal zum Browser geschickt hat .... erst jetzt steht inhalt in $_COOKIE weil der Apach den "$_COOKIEretun2Sender aus dem httpHEADERdesBrowserrequest in die $VAriable .....



wie kommt es dort zur ausgabe von $_COOKIE ... sie wurde niemals gesetzt .... es wird nur $freschCookie gesetzt
http://webtools.chegu.de/KeksTest.html
Code:

<?php

  $tsloglife=time()+(60*60*4);
  switch( mt_rand(1,2) )
  {
    case 1: setcookie( "KeksTest", $freshCOOKIE['KeksTest']='Probierkeks', $tsloglife, "/", ".$REQUEST_HOST" );break;
    case 2: setcookie( "KeksTest", $freshCOOKIE['KeksTest']='gratis Keks', $tsloglife, "/", ".$REQUEST_HOST" );break;
  }
  switch( mt_rand(1,3) )
  {
    case 1: setcookie( "Sorte"   , $freshCOOKIE['Sorte']   ='Butter  Keks', $tsloglife, "/", ".$REQUEST_HOST" );break;
    case 2: setcookie( "Sorte"   , $freshCOOKIE['Sorte']   ='PrinzenRolle', $tsloglife, "/", ".$REQUEST_HOST" );break;
    case 3: setcookie( "Sorte"   , $freshCOOKIE['Sorte']   ='Eier  Dinger', $tsloglife, "/", ".$REQUEST_HOST" );break;
  }

$content.='<br>oldKeks·'.    $_COOKIE['KeksTest'].'·'.    $_COOKIE['Sorte'];
$content.='<br>newKeks·'.$freshCOOKIE['KeksTest'].'·'.$freshCOOKIE['Sorte'];
?>

1. : 23:23:23 php macht setcookie
2. : 23:23:25 php sendet seite an Browser
3. : 23:25:42 User klickt auf Link, fordert neue Seite an, Browser sendet Server vorhandene Cookies ....
4. : 23:25:42 Webserver empfängt Anfrage .... erst jetzt wird der setCookie von 23Uhr23und23Secunden zu einer $_COOKIE

Wenn PHProgrammierer jetzt die $COOKIE ändert .... dann ändert er quasie eine Variable ..... aber keinen Keks

Wer einen Kaugummie in eine Keksdose legt, macht aus dem Kaugunmie keinen Keks

Wer ein kaugummie in die Keksfabrik(setCookie) bringt, kriegt vielleicht irgendwie irgendwann einen KaugummieKeks oder einen Keks mit Kaugummie ...

_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
800XE
Bekannter [Mod]
Bekannter



Anmeldung: 24.10.04
Beiträge: 1379
Wohnort: Speyer

BeitragVerfasst am: 28.08.2008, 20:37    Titel: Antworten mit Zitat

Xanni hat folgendes geschrieben:
Ich frage mich nur, wo beim *bearbeiten des bestehenden Cookies* der Unterschied ist. $_COOKIE = Babbel setzt zwar nur die Variable und nicht den Cookie, aber wenn der Cookie zuvor mit setcookie() sowieso schon gesetzt worden ist, macht ein erneutes setcookie() doch nichts anderes als $_COOKIE = Babbel, nämlich nur die Variable, also den Wert, ändern.


setcookie setzt keinen $Variableninhalt
setcookie setzt headerzeilen

Die $Cookie hat ihren Wert aus SetCookie erst mehrere Schritte Weiter = beim nächsten PageView = in einem anderen php(instantz) nicht in diesem welches den setcookie ausführt

_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
Xanni
Stammuser [User]
Stammuser



Anmeldung: 11.11.07
Beiträge: 35

BeitragVerfasst am: 29.08.2008, 11:50    Titel: Antworten mit Zitat

Danke, das hat die Frage genau beantwortet. Auch wenn du dich manchmal zu kompliziert für mich ausdrückst... Geschockt
_________________
Wake up, my friend... the Matrix has You.


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
800XE
Bekannter [Mod]
Bekannter



Anmeldung: 24.10.04
Beiträge: 1379
Wohnort: Speyer

BeitragVerfasst am: 29.08.2008, 22:59    Titel: Antworten mit Zitat

Xanni hat folgendes geschrieben:
Danke, das hat die Frage genau beantwortet. Auch wenn du dich manchmal zu kompliziert für mich ausdrückst... Geschockt

erstmal, schön das du jetzt weist wie es ist .. oder nicht ist

Das "zu kompliziert erklärte" war dann wohl
800XE hat folgendes geschrieben:
Der setCookie ist ein Befehl um (http)HeaderZeilen zu ergänzen .... der Cookie steht jetzt glaub garnicht zur verfügung .... erst beim nächsten PageView .... wenn der Cookie vom Server zurückgekommen ist und vom Apach in die $_COOKIE "verschoben" wurde

Im gegensatz zur späteren Erklärung istd as nicht kompliziert, sondern kompackt
Die spätere Erklärung war "weiter ausholend"
Ergebniss:
nicht meine Erklärung war kompliziert, sondern der Sachverhalt war es

Hab ich zu dem folgenden schon was gesagt?
umt hat folgendes geschrieben:
auf dem Rechner des Users und $_COOKIE = Babbel nicht, sondern nur in dem Script, das gerade auf dem Server abgearbeitet wird.

so ein "gleichzeitig" gibt es vielleicht bei Ajax .... aber nicht bei Cookies .... das ist der Aspeckt der es kompliziert macht


z.B.
email Nachricht ... neuer Post im WMW ...
kuck .. lese ... lick "Zitat" ... Loginform .... LoginEingebe und abschick ... Danke für login
+++ jetzt bin ich wahrscheinlich noch nicht eingelogt .... der Cookie wurde zum Server geschickt, aber nochnicht zurück zum Browser ..... passiert automatisch, weil ja nach parr Secunden ein Redirekt zurück zum Thread gemacht wird

bei mir im Blog ist das etwas Anders ... kein Redirekt

800xe.de/Autoringtool/

rechts oben im gelben Bereich steht "Gast" oder eben der User
das Login postet wieder auf diese URL .... und rechts oben steht immer noch Gast
jetzt bin ich also noch nicht eingelogt
kann aber einen BlogBeitrag posten, da dieser Post ein neuer PageView ist und dann bin ich eingelogt



Vor parr Wochen wollte ich wissen wie genau das mit den Cookies abläuft, ob eben dsetcookie auch gleich $_COOKIE setzt .....
... deswegen hatte ich mit den KeksTest gebastelt

_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Gehe zu:  

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Grafiken im HTML-Newsletter "spe... loungepets Einsteigerforum 8 11.11.2008, 15:35 Letzten Beitrag anzeigen
Keine neuen Beiträge Seite reagiert langsam und "ruck... negteit Einsteigerforum 6 11.10.2008, 20:02 Letzten Beitrag anzeigen
Keine neuen Beiträge "Mailfire ist ganz neu!" Ge... jay89724 Internet-Marketing 0 07.10.2008, 22:06 Letzten Beitrag anzeigen
Keine neuen Beiträge [S] Linktausch "Versicherung" MarkusBerger Linktausch 3 28.09.2008, 15:26 Letzten Beitrag anzeigen
Keine neuen Beiträge "Member-Tausch" für verwais... JanKrohn Linktausch 0 26.09.2008, 15:08 Letzten Beitrag anzeigen
Threadübersicht