- Ad -
IMPRESSUM dotted_line KONTAKT dotted_line search dotted_line Contact dotted_line sitemap
235 PHP-Resource Mitglieder online


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 Ansicht
  #1 (permalink)  
Alt 23-04-2007, 16: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, 16:51
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MGL and MCH, Germany
Beiträge: 33.706
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, 17: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, 17:49
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MGL and MCH, Germany
Beiträge: 33.706
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, 17: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, 18:40
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MGL and MCH, Germany
Beiträge: 33.706
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, 11: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


Themen-Optionen
Ansicht 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

Das Samsung Galaxy Tab - Android-2.2-Tablet auf der Ifa 2010
In der offiziellen Vorschauvideo des Samsungs Android-Tablet Galaxy Tab werden einige der verfügbaren Funktionen gezeigt.

26.08.2010 | Berni

Sicherheitspatches für phpMyAdmin veröffentlicht
Sicherheitspatches für phpMyAdmin veröffentlichtMit den Sicherheitsupdates 3.3.5.1 und 2.11.10.1 werden zwei Schwachstellen geschlossen.

23.08.2010 | Berni

 

Neuzugänge PHP Scripte

xn.debug

This debugger for PHP gives you the ability to inspect and understand what is going on in your application. It helps you to develop your code, improve the processes, increase the security and build a greener environment!

07.09.2010 rvolk | Kategorie: PHP/ Debugger
MYRE Real Estate Software ansehen MYRE Real Estate Software

MYRE Real Estate Software is your Professional Real Estate ready-to-use out of box software with a turn key operation.

07.09.2010 myrephp | Kategorie: PHP/ Anzeigenmarkt
Verzeichnis Portal ansehen Verzeichnis Portal

Erstellen Sie Ihre eigenes Verzeichnis Portal inklusive Content Management System und das ohne PHP oder HTML Kenntnisse. Mit dieser Software ist es möglich - einfach installieren und loslegen. Verzeichnis Portal mit 5 integrierten Verzeichnissen - Ärzteve

07.09.2010 olib32 | Kategorie: PHP/ Anzeigenmarkt
Groupon Clone Script Enterprise ansehen Groupon Clone Script Enterprise

Start your own Groupon.com site just like CityDeal and DailyDeal

07.09.2010 dtrax | Kategorie: PHP/ Social-Network
5 Einzelplatz Lizenzen für Ihr AnzeigenmarktV2 Script ansehen 5 Einzelplatz Lizenzen für Ihr AnzeigenmarktV2 Script

5 weitere Einzelplatz Lizenzen für Ihr Anzeigenmarkt V2 Script Sie möchten gerne Ihr AnzeigenmarktV2 Script auf 5 weiteren Domains oder Subdomains betreiben, dann ist das Lizenz Paket für Sie genau das richtige. Sie erhalten 5 Einzelplatz Lizenzen ink

06.09.2010 steve83 | Kategorie: PHP/ Anzeigenmarkt
Online PHP Encoder

Verschlüsseln und schützen Sie Ihre PHP-Scripte einfach und günstig mit dem Online PHP Encoder. Einfach die gewünschten Dateien, die verschlüsselt werden sollen, hochladen und fertig. Die Dateien werden online sofort verschlüsselt und können heruntergelad

06.09.2010 Borlabs | Kategorie: PHP/ Encoder
 Alle Scipte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:01 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39