Kann das jemand übersetzen ?

h-brock

Mitglied
PHP:
$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : "";

würd mich freuen wenn mir das jemand erklären könnte....

thx

H-Brock
 
Hallo h-brock,

das ist eine von diesen schönen verkürzten if-Abfragen :)
Ausgeschrieben sieht das so aus:
PHP:
if (isset($HTTP_COOKIE_VARS[$cookiename."_sid"]))
{ // wenn das Cookie gesetzt ist...
  $session_id = $HTTP_COOKIE_VARS[$cookiename."_sid"];
}
else
{ // andernfalls...
  $session_id = "";
}

Zur Erklärung: Dieses Sprachkonstrukt ist folgendermaßen aufgebaut:
[Bedingung ? [Rückgabewert wenn Bedingung true : [Rückgabewert wenn Bedingung false

Noch ein Beispiel:
PHP:
// $name wird von einem Formular übergeben
echo ($name=="h-brock")?"Hallo h-brock, wie geht's so?":"Guten Tag, $name.";
Wenn $name "h-brock" ist, wird "Hallo h-brock, wie geht's so?" ausgegeben. Andernfalls, z.B. bei reima ;) : "Guten Tag, reima."

Alles klar? Hoffe ich doch ;)


reima
 
THX

alles klar schon verstanden ... ich versuche gerade ein externes Login für PHPBB2 zu schreiben gerade ist gut ich mach das seit 2 tagen .....:(


Ich hab alles rausbekommen alles eingetragen bis auf die Session ID die nicht der ID einer normalen session entspricht kennt sich jemand mit dem Forum aus ? Weis jemand wie man an die session ID rankommen könnte ohne das Forum vorher zu betreten ?

Ich mein eine normale session hält doch solange wie der Brower auf ist.
Bei phpbb ist das auch so es sei denn man logt sich aus und wieder ein, danach ist sie wieder ganz anders das verwirrt mich schon ein bischen. denn ich bin davon ausgegangen das es sich auch der normalen session zusammensetzt ....

Naja eigentlich erwarte ich keine antw aus das Post aber vielleicht weiss es ja doch jemand :)

Ich mein ihr Leutz seid einfach krass ;)

THX

H-Brock
 
sessions

also,

sessions werden dem user vom server gegeben und halten ca. 20 min (je nach server verschieden) länger als die letzte aktion des users, danach verfallen sie.

sessions haben den sinn, variablen unsichtbar und global zu übergeben: es muss dazu bei jedem dokument die 'bla.php?".session_name()."=".sesion_id()."' session id mit angegeben werden, damit der server weiss, welcher session er welche variablen übergeben soll.

bei jedem file muss noch zusätzlich jedes mal session_start() zu anfang gesetzt werden.

variablen setzt man mit $bla=1; session_register(bla); so ist die variable $bla=1 in jedem dokument verfügbar, an das die session-id übergeben wurde.

für eine genaue referenz zu sessions:
http://www.php.net/manual/de/ref.session.php
 
schon klar

Ich weiss schon wie sessions funktionieren da ist auch nicht das Problem...

Also ich hab mir das nun nochmal angeschaut ....

Bei dem forum geht es nicht wirklich um sessions ...

$session_id = md5(uniqid($user_ip));

dies wird in die MYSQL geschrieben und als session genutz ....

Das ist nur ein bischen schade da ich diesen code kein 2tesmal generieren kann da er sonst (uniqid) also nicht gleich wird was bedeutet er erstellt mir eine falsche session.... geht also nicht ..

gut dachte ich mir greif ich in das phpbb script ein und ändere das in eine normale Session...

Klappt auch teilweise....


Denn Leider schreibt phpbb2 immer einen anonymous in die SQL dir natürlich jetzt auch die Session von "meinem Login hat"; also dublicat und ende ....

hab ich mich aber schon mal auf dem Forum eingeloggt und wieder ausgeloggt rufe dann "meinen" login auf gehts... denn dann macht er das nicht mit dem Anonymous und akzeptiert die von mir erstellte Session...

Ich vergass zu sagen wenn ich mich ein und ausgeloggt habe muss ich natürlich per phpmyandmin erstwieder die session aus der mysql löschen sonst hab ich ja wieder ein dublicat...

ja so ist das 2 Tage arbeit .... und ich komm nicht weiter hart aber real ...
 
Zurück