37x Forum  
Zurück  > >

Portal Forum Registrieren Hilfe Alle Foren als gelesen markieren
Alt 10.07.2005, 04:36   Direktlink zum Beitrag - 1 Zum Anfang der Seite springen
Neuer Benutzer
 
Registriert seit: 10.07.2005
Beiträge: 0
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard

Hi Leute

Ist mein erstes Tutorial, hoffe mal es wird verständlich. Ich schreibe euch über Sessions in PHP, wie ihr diese initialisiert und benutzt.


Sinn einer Session:
Sessions werden häufig bei Seiten benutzt, wo sich ein User einloggen muss. In Sessions kann man Variablen speichern die dann auf dem Server gespeichert sind und sozusagen global sind.

Eine Session läuft spätestens mit Schließen des Browserfensters ab. Man kann natürlich auch Cookies setzen, so dass die Sessions erneut geladen werden.

In einer Session kannst du z.B. den User ID eines Users speichern, die dazugehörigen Daten und evtl das Passwort, um so immer Vergleiche mit den eingegebenen Daten zu machen oder wenn du andere Daten des Users benötigst brauchst du nur auf die Sessionvariable mit dem user id zugreifen.


Verwendung von Sessions:
Um eine Session zu initialiesieren musst du vor jedem HTML Code folgende Zeile schreiben:
PHP-Code:
<?php session_start(); ?>
Damit werden im nachfolgedem Skript alle Session Variablen zugänglich.

Session Variablen zu erstellen und auszulesen geht am einfachstem über den Session Array. Es gibt auch eine andere Möglichkeit, die aber schon veraltet und kompliziert ist.

Um eine Variable zu setzen oder auszulesen nimmst du folgende Codes:

PHP-Code:
<?php 
$_SESSION
['variablenname'] = 'neuer wert';

if (
$_SESSION['eingeloggt'] == 1) echo 'User ist drin';?>
Auf diese Variablen kannst du nun von jeder Seite, bei der du session_start(); an den Anfang schreibst zugreifen, so lange das Browserfenster nicht geschlossen wurde.

Sollen alle Sessionvariablen frühzeitig gelöscht werden nutze folgende Funktion:

PHP-Code:
<?php session_destroy();?>
Der Name ist wohl selbsterklärend, ne?

Zum Login Skript:

Ihr habt ein Formular welches zwei Textfelder names username und password hat. Außerdem ist ein unsichtbares Feld zur Uberprüfung mit dem Titel login und dem Wert 1 vorhanden.
Diese werden über action="post" an eine php Seite übergeben. Hier der Code der PHP Seite:

PHP-Code:
<?php session_start();

if (
$_POST['login'] == 1) {
  if ((
$_POST['username'] == 'Admin') AND ($_POST['password'] == 'geheim')) {
    
$_SESSION['username'] = $_POST['username'];
    
$_SESSION['password'] = $_POST['password'];
    echo 
'Willkommen Admin
'
;
    echo 
'Viel Spaß auf deiner Seite';
    ...
  }
}
?>
Auf der nächsten Seite prüft ihr mit folgendem Skript ob der Admin auch eingeloggt ist:

PHP-Code:
<?php session_start();

if (
$_SESSION['username'] == 'Admin') {
  echo 
'Mitglieder bearbeiten:
'
  
echo ' löschen - bearbeiten - hinzufügen';
  ...
}
?>
Hoffe euch geholfen zu haben
Wuffel ist offline  

Mit Zitat antworten
Alt 20.07.2005, 15:57   Direktlink zum Beitrag - 2 Zum Anfang der Seite springen
Neuer Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 0
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard

Manchmal ist es sinnvonn die Sessions so anzulegen, das die Session da gestartet wird wo sie auch benötigt werden.
Z.B bei Shopsystemen bei nach betätigen des Einkaufbuttons. Da das allerdings nicht bei allen Systemen möglich ist gibt es einen kleinen Code, der verhindert, das bots von Suchmaschinen eine Session angehängt bekommen.
PHP-Code:
 <?PHP
$spiders 
= array("Googlebot","WebCrawler","Mediapartners-Google","msnbot","FAST-WebCrawler","slurp","Yahoo","lycos_spider","lynx",);
$from_spider=FALSE;
foreach(
$spiders as $Val)
{
if (
eregi($Val$_SERVER["HTTP_USER_AGENT"]))
{
$from_spider=TRUE;
break;
}
}
// Session
if(!$from_spider)
@
session_start();
.
.
.
.
webmasterexergerer ist offline  

Mit Zitat antworten

Werbung


--
Alt 20.07.2005, 21:10   Direktlink zum Beitrag - 3 Zum Anfang der Seite springen
Neuer Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 0
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard

Besser ist es den o.G Code zu testen. Das kann man Hier machen
webmasterexergerer ist offline  

Mit Zitat antworten
Alt 08.02.2006, 16:28   Direktlink zum Beitrag - 4 Zum Anfang der Seite springen
Neuer Benutzer
 
Registriert seit: 08.02.2006
Beiträge: 0
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard

Hallo zusammen,

ich interessiere mich u.a. für Sessions. Kann man zusammenfassend sagen, daß die Session-Funktionalität dazu da ist, Variablen zu definieren, die über sämtliche Browser-Instanzen (o. bspw. FireFox-Tabs), erreichbar sind? Und was hat es mit der User-Id auf sich?

Gruß
<sires>
sires ist offline  

Mit Zitat antworten
Alt 08.02.2006, 16:45   Direktlink zum Beitrag - 5 Zum Anfang der Seite springen
Neuer Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 0
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard

Bei Sessions werden Variablen während des Besuchs der Webseite gespeichert.
webmasterexergerer ist offline  

Mit Zitat antworten
Antwort

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 aus
Pingbacks are aus
Refbacks are aus



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


Powered by vBulletin