- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > Tutorials
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


Tutorials In diesem Forum könnt Ihr euere Fragen zu unseren Tutorials stellen. Die Tutorials sind unter http://www.php-resource.de/tutorials/ zu finden. Tutorialgesuche bitte im Forum Off-Topic stellen!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 23-04-2007, 17:22
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Session-Daten auslesen

Hallo,

ich hätte eine Frage zu folgendem Tutorial (Login-Script):

http://www.php-resource.de/tutorials/read/38/1/

Das einloggen klappt wunderbar, jetzt möchte ich nur noch userspezifische Daten auslesen können, wofür ich Abfragen der Art:

"Select .... FROM ... WHERE $user = XX";

ausführen muss. Wie kann ich aber in diesem Script auf die Variable mit meiner UserID zugreifen? Hab einige Sachen ausprobiert, es hat aber nicht geklappt...

Oder muss ich es erst über

$_SESSION['user'] als Session-Variable anlegen und dann über den Link von Seite zu Seite übergeben?

Danke, Andi
Mit Zitat antworten
  #2 (permalink)  
Alt 23-04-2007, 17:51
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.077
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

na, mach mal ne testausgabe (print_r()) von $_SESSION.

- Wenn da was brauchbares drin steht, kannst du es natürlich auch verwenden.
-Wenn nicht, dann musst du wohl oder übel beim einloggen erstmal was in die Session reinschreiben um es dann später wieder rauszuholen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 23-04-2007, 18:05
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@TobiaZ

Danke für die schnelle Antwort, leider komm ich noch nicht ganz klar damit. Ich hab mich jetzt durch das oben angegebene Tutorial und auch durch ein Session Tutorial (http://www.usegroup.de/software/phpt.../sessions.html) gearbeitet, aber mir ist z.B. nicht klar, warum in dem Tutorial hier auf php-resource die Session-ID in der DB gespeichert wird und nicht einfach an den Link zu weiteren Seiten über die Konstante SID angehängt wird?

Und worauf Du mit

Zitat:
(print_r()) von $_SESSION
hinaus wolltest, weiß ich auch leider nicht. Ich hab es mit:

PHP-Code:
print_r($_SESSION); 
versucht, was mir aber nur

Zitat:
Array()
ausgegeben hat.
Mit Zitat antworten
  #4 (permalink)  
Alt 23-04-2007, 18:49
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.077
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
warum in dem Tutorial hier auf php-resource die Session-ID in der DB gespeichert wird und nicht einfach an den Link zu weiteren Seiten über die Konstante SID angehängt wird?
das eine hat mit dem anderen nichts zu tun.

letzteres dient nur dazu die SID von einer seite zur nächsten mitzuschleifen. Dazu kann sie entweder in einem Cookie gespeichert werden oder aber auch an jeden (internen) link angehängt werden. dafür sorgt php aber standardmäßig selbst.

der grund warum die SID in die DB gespeichert wird, liegt vermutlich darin, dass das Script so erkennt, ob du eingeloggt bist, oder nicht. (kenne das Tut selbst nicht wirklich.)

--

Dein Versuch mit print_r($_SESSION); war gold richtig! Genau das habe ich gewollt.

An der Ausgabe von "Array()" kannst du nun erkennen, dass in der Session selbst keine Daten gespeichert werden. Wie gesagt, die überprüfung ob eingeloggt oder nicht, wird anhand der DB vorgenommen.

In deinem konkreten Fall hast du nun zwei möglichkeiten:

1) Beim einloggen die User-id in die Session speichern:
PHP-Code:
$_SESSION[user_id] = xxx
oder
2) im Script einfach eine zusätliche Query a la SELECT * FROM usertabelle WHERE sid = SESSIONID.

Ich würde zu 1) tendieren.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 23-04-2007, 18:59
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@TobiaZ

Ah, vielen Dank, jetzt wird mir das schon klarer! Dann wird die Session wahrscheinlich wirklich wegen Deiner Alternativa 2) in der DB gespeichert werden...

Zitat:
letzteres dient nur dazu die SID von einer seite zur nächsten mitzuschleifen. Dazu kann sie entweder in einem Cookie gespeichert werden oder aber auch an jeden (internen) link angehängt werden. dafür sorgt php aber standardmäßig selbst.
Über Cookies möchte ich es lieber nicht machen, da sie ja nicht jeder aktiviert hat, aber der letzte Satz hat mich etwas verwirrt - ist denn dann die Methode a la:

PHP-Code:
<a href="test.php?<?=SID?>">next</a>
veraltet? Kann ich es dann einfach z.B. so machen:

PHP-Code:
session_start();
$_SESSION[user_id] = xxx 
...und dann auf die $_SESSION['user_id'] auf jeder Seite zugreifen (sofern ich natürlich oben session_start() schreibe) ohne die SessionID über den Link weiterzugeben??
Mit Zitat antworten
  #6 (permalink)  
Alt 23-04-2007, 19:40
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.077
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

wie gesagt, es sind zwei paar Schuhe.

zunächst einmal hast du die SESSION-id. Die muss wie gesagt übergeben werden. Ob via COOKIE oder im Link (also GET) oder zur not über ein POST-Formular. Hauptsache sie wird übergeben.

Standardmäßig versucht PHP ein Cookie zu setzen. Wenn der User das aber nicht will, wird sie halt über GET (also den Link) übergeben. Wie gesagt, PHP macht das schon. (s. session)

Zitat:
ist denn dann die Methode a la:
<a href="test.php?<?=SID?>">next</a>
veraltet?
Nein, veraltet definitiv nicht, aber überflüssig, wenn die einstellung session.use_trans_sid aktiviert ist.

Zitat:
Kann ich es dann einfach z.B. so machen:

session_start();
$_SESSION['user_id] = xxx

...und dann auf die $_SESSION['user_id'] auf jeder Seite zugreifen (sofern ich natürlich oben session_start() schreibe)
Ja, probier es aus...
Zitat:
ohne die SessionID über den Link weiterzugeben??
Wie gesagt, hauptsache die ID wird übergeben, ob cookie oder link ist mir latte...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 25-04-2007, 12:21
andi234
 Newbie
Links : Onlinestatus : andi234 ist offline
Registriert seit: Jul 2006
Beiträge: 25
andi234 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@TobiaZ

Vielen Dank für Deine Erklärung und sorry, dass ich erst jetzt antworte. Ich werde das mal ausprobieren und mich nochmal melden, falls ich noch Fragen habe. Vielen Dank aber schonmal!

Andi
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Schwere Sicherheitslücke in PHP 5.3.9
Schwere Sicherheitslücke in PHP 5.3.9Die Sicherheitslücke erlaubt das Ausführen von PHP-Code über das Netzwerk. Suhosin bringt Abhilfe öffnet jedoch alte Probleme

02.02.2012 | Berni

Firefox 10 enthält neue Entwicklerwerkzeuge
Firefox 10 enthält neue EntwicklerwerkzeugeFirefox steht in der Version 10 zum Download bereit. Gerade Entwickeler dürften sich über die neuen Entwicklungswerkzeuge freuen.

31.01.2012 | phpler

 

Aktuelle PHP Scripte

123 Live Help Chat Software v5.4 ansehen 123 Live Help Chat Software v5.4

123 Live Help Chat Software is a web-based live support software, offering professional live chat hosting service & live help software. And there are also free hosting service and free software for trial. It allows you to live video & text chat with websi

07.02.2012 flashchat123 | Kategorie: FLASH/ Chat
OneShoutbox

Sichere Shoutbox die auch als Feedback-System genutzt werden kann.

07.02.2012 OneScripts | Kategorie: PHP/ Shoutbox
Komplettes Auktions Counter Portal

Hier bieten wir Ihnen ein Auktions Counter Script mit kompletter Statistik Auswertung der einzelnen angelegten Counter.

06.02.2012 ISD-Genthin | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:58 Uhr.