You are not logged in.

wcf.regNote.message

Spy

Trainee

  • "Spy" started this thread

Posts: 127

Occupation: Feriengammler

  • Send private message

1

Saturday, September 24th 2005, 4:19pm

Coockies und Login

Hallo,

schreibe grad an ein Login System. Man soll sich einloggen und dann auf verschiedenen Pages rumsürfen. Habe mir gedacht das jedesmal die Sessions usw übergeben ist etwas aufwendig. Darum dachte ich sofort an Coockies...
Allerdings wollte ich erst Fragen ob es keine andere Alternative gibt. Da evtl ein paar Leute Coockies verbieten.

Einfach sagen PGH oder gibt es eine andere möglichkeit ?

mfg

spy
Die Welt ist irgendwie total Buggy programmiert X(

Spy

Trainee

  • "Spy" started this thread

Posts: 127

Occupation: Feriengammler

  • Send private message

2

Saturday, September 24th 2005, 4:41pm

hmm.. also habe ne zweite möglichkeit gefunden...

Nach Tags zu suchen wie z.b. <user>Spy</user><id>1</id>
dann tu ich die auf einer Hauptseite die Werte.
Und jedesmal wenn ein User die Account Daten braucht bzw. ich sie brauche hole ich sie mir von dort. Bei jedem neuen Laden der Index.php muss nur das zeug dahin geschrieben werden.

Die Frage nur ob das schneller ist als die Daten einer Coockie auszulesen...
Die Welt ist irgendwie total Buggy programmiert X(

flo

Unregistered

3

Sunday, September 25th 2005, 8:39pm

vorschlag:

nur zur klärung:
$name= das was der als name eingegeben hat
$pwd=das was der als passwort eingegeben hat

du hast deine index.php
der kann sich einloggen und überprüft das usw.. wenn die daten richtig sind machst du folgendes:

$_Session["usrname"]=$name;
$_Session["passwort"]=$pwd;

und in den links gibst du dann an:

index.php?section=link1
index.php?section=link2
usw....
das wird dann in der session gespeichert und du bleibst ja immer in der gleichen file... (index.php)

dann musst du halt mit if anweisungen arbeiten

if(!isset($section))
{
$section="";
}
if (isset($section) AND $section=="link1")
{
include(./pages/link1.php");
}

usw...

hoffe ich hab nix vergessen ;)

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

4

Monday, September 26th 2005, 7:30am

Bei den links sollte eigentlich noch die SID übergeben werden

PHP Source code

1
$link "index.php".SID


und des natürlich dann noch nem Linktag als href zuweisen.
Bei SessionStart übernimmt der automatisch die Session die übergeben wurde.
Des ist falls ein User keine Cookies verwendet wichtig.

Ciao Ephraim
PS.: Ich versteh nicht ganz warum du keine Sessions verwenden willst :)

flo

Unregistered

5

Monday, September 26th 2005, 4:27pm

stimmt...

session_start(); muss halt noch an den anfang ;)
allerdings muss man die SessionID nicht per url übergeben, denn $_SESSION[""]; ist ja ein reservierter Array ;) ( wenn man das so nennt ;D )

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

6

Monday, September 26th 2005, 7:18pm

Naja da kann ich dir jetzt nicht beipflichten. Die Session ID muss doch übergeben werden damit die Session wieder identifiziert werden kann. Man muss sie nur dann nicht übergeben wenn der User Cookies akzeptiert.

Ciao Ephraim

flo

Unregistered

7

Monday, September 26th 2005, 10:42pm

aber wenn du es, so wie ich es oben beschrieben hab, machst, dann muss ja nix weitergegben werden.. dann kannst du den loginstatus auch in einer einfachen variable speichern usw...
schau.. (srry ich bin schlecht im erklären im mom...bin bissl verstreut)
index.php (loginstatus etc schon überprüft und loginstatus mit einer variable übergeben)
session_start();

if (!$login="1") {
echo "erst einloggen sonst gibts haue";
exit();
}
else{
$_SESSION["name"]=$name;
$_SESSION["login"]="1";

// hier kommt dann der inhalt der page... mit links usw

echo "<a href='index.php?section=link1'>Link 1</a></br>";
echo "<a href='index.php?section=link2'>Link 2</a></br>";
echo "<a href='index.php?section=logout'>Link 2</a></br>";
// und hier dann ausführen, was in der section definiert wurde

if (!isset($section))
{
$section="";
}
if (isset($section) AND $section=="link1")
{
include("main/link1.php");
}
if (isset($section) AND $section=="link2")
{
// s.o. ...
}
if (isset($section) AND $section=="logout")
{
session_destroy();
echo "<a href='index.php'>zum login</a>";
}

da ist dann alles in der $_SESSION gespeichert und man kann als eingeloggter user zwischen den pages herumsurfen ...

und bei logout wird die session wieder beendet....
die session muss nur per url übergeben werden, wenn man auf eine andere datei verlinkt.. in meinem beispiel bleiben wir aber immer in der index.php

nachträgicher EDIT:
diese variable wird doch lokal auf dem server gespeichert oda ist das in nem cookie? dann entschuldige ich mich, weil ich das nicht wusste

This post has been edited 1 times, last edit by "flo" (Sep 26th 2005, 10:44pm)


Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

8

Tuesday, September 27th 2005, 7:43am

Nein die Variabel $_SESSION wird auf dem Server gespeichert, aber die SID (also Session ID) muss trotzdem übergeben oder als cookie gespeichert werden.
Denn woher soll sonst die Page wissen welcher User (also welcher Browser) zu welcher Session gehört. Dafür ist die SID zuständig und die identifiziert dann den User und die Session wird anhandt dieser dann bei Session_Start wieder richtig initialisiert.

Auch wenn du nur in der Index.php bleibst, ist jeder aufruf der Index.php ein neuer Aufruf bzw. eine neue Seite für den Browser und eine neue Anfrage für den Server!!

Ciao Ephraim

flo

Unregistered

9

Tuesday, September 27th 2005, 2:38pm

klingt alles einleuchtend ;)
allerdigns klappt das, so wie ich es beschrieben hab, bei mir ...
hab das schon öfter so programmiert...
der loginstatus bleibt immer gewährleistet...
allerdings, hat dies, wie ich es programmiert hab, einen nachteil...
wenn sich jemand ausloggt, dann werden alle zu dieser zeit eingeloggten user gekickt ;) weil ja wie du schon gesagt hast, der server die Sid nicht verrifizieren kann ;)

also ... hast du im prinzip recht, aber so lange das kein größeres projekt wird, bei dem später 100 user pro tag online sind reicht meine variante ja auch ;)

Spy

Trainee

  • "Spy" started this thread

Posts: 127

Occupation: Feriengammler

  • Send private message

10

Saturday, October 1st 2005, 8:31pm

Ich weiß auch nicht aber irgendwie find ich Sessions blöd ...

Da finde ich Coockies doch irgendwo besser....
aber wie sieht es eigentlich mit der Online Ip Adresse aus die ist auch Einmalig und solange der User online ist stimmt diese Adresse...
Die Welt ist irgendwie total Buggy programmiert X(

wcf.user.socialbookmarks.titel