session übergaben
mark
- php
0 Philipp Hasenfratz0 mark
0 Tom
hi leute hab mal wieder ne frage...ich habe hier hier eine session gstartet..
davor musste ich mich bei mir einlogen
$mpguest = mysql_escape_string(stripslashes($_POST['mpguest']));
$mpdoor = (stripslashes($_POST['mpdoor']));
$mppass = md5($mpdoor);
$select_log = mysql_query("select * from mp_master where mpuser='$mpguest'
and mppass = '$mppass' ");
if($select_log and (mysql_num_rows($select_log)==1))
{
session_start();
$_SESSION['sess_id'] = session_id();
$_SESSION['pass'] = $mppass_sql;
$_SESSION['login'] = time();
$_SESSION['lastclick'] = time();
$query='1';
$_SESSION['query'] = $query;
}
if($_SESSION['query'] == '1')
{
$show = "mp-cp-edit-content";
}
else
{
$show = "mp-cp-error";
}
jetzt möchte ich aber über einen link
die "selbe seite" nocheinmal aufrufen mit einer neuen datenbankabfrage..
<a href="mp-cp-edit-content.php?cid=20103">- termine</a>
aber irgendwie wird die session nicht überganen oder so???
was mache ich falsch?
um den inhalt anzuzeigen wenn man eingelogt ist habe ich das hier gemacht
in session start:
$query='1';
$_SESSION['query'] = $query;
und dann das hier als abfrage für den content bzw. für die *.pl
if($_SESSION['query'] == '1')
vorab danke
mark
Halihallo mark
if($select_log and (mysql_num_rows($select_log)==1))
{
session_start();
...
}
[...]
um den inhalt anzuzeigen wenn man eingelogt ist habe ich das hier gemacht
http://ch.php.net/session_start
<cite>
erzeugt eine Session oder nimmt die aktuelle wieder auf
</cite>
session_start() ganz am Anfang setzen, bzw. nicht konditional (in if)
ausgeben, andernfalls wird die Session nicht geöffnet und somit ist
$_SESSION leer.
Viele Grüsse
Philipp
Halihallo mark
if($select_log and (mysql_num_rows($select_log)==1))
{
session_start();
...
}
[...]
um den inhalt anzuzeigen wenn man eingelogt ist habe ich das hier gemachthttp://ch.php.net/session_start
<cite>
erzeugt eine Session oder nimmt die aktuelle wieder auf
</cite>session_start() ganz am Anfang setzen, bzw. nicht konditional (in if)
ausgeben, andernfalls wird die Session nicht geöffnet und somit ist
$_SESSION leer.Viele Grüsse
Philipp
danke
@top aber das ist so viel theorie...
@Philipp
hmmm...
ich habe das jetzt so gemacht
als erstes atarte ich eine session...
session_start();
dann habe ich das $show = "mp-cp-edit-content"; einfach in diese if hier reingemacht..
das kogin funktionier wunderbar aber wenn ich jetzt
auf einen link drücke
<a href="mp-cp-edit-content.php?cid=20103">- termine</a>
bin ich wieder nicht eingeloggt irgendwie übernimmt er die logindaten nicht oder so men ich versteh das nicht...
if($select_log and (mysql_num_rows($select_log)==1))
{
$_SESSION['sess_id'] = session_id();
$_SESSION['pass'] = $mppass_sql;
$_SESSION['login'] = time();
$_SESSION['lastclick'] = time();
$show = "mp-cp-edit-content";
}
else
{
$show = "mp-cp-error";
}
Hello Mark,
Die Existenz einer Session und ein aktives Login haben erstmal gar nichts miteinander zu tun.
Allerdings benutzt man eine Session i.d.R., um einen Loginstatus zu führen.
Es handelt sich bei dem Ganzen mesitens um drei korrespondierende Komponenten:
1. Die Datenbank mit den Userrechten und Userdaten
2. Den Cookie auf dem Client, um diesen zu identifizieren
3. Die Sessiondatei, in der die Sessiondaten von einer Seite zu nächsten für den
Client aufbewahrt werden.
Wenn ein Client einen Request auslöst, gibt es zwei Möglichkeiten:
1. Er sendet einen Cookie mit
1.1. Es gibt eine Sessiondatei zu diesem Cookie
1.1.1. Aus den Sessiondaten geht hervor, der Teilnehmer ist angemeldet
==> Der Teilnehmer darf normal weiterarbeiten.
Das zur Seite gehörende Include wird geladen
Er bekommt einen Link zur Logout/Login-Seite angezeigt
==> Der Teilnehmer hatte gezielt die Loginseite aufgerufen
Da er schon angemeldet ist, bekommt er nur einen Logout-Button und
der Anbieter der Seite hat endlich mal Platz für Werbung *gg*
1.1.2. Aus den Sessiondaten geht hervor, dass der Teilnehmer NICHT angemeldet
ist, bzw. sind gar keine gültigen Sessiondaten in der Sessiondatei
1.1.2.1 Der Teilneher hatte gezielt die Loginseite aufgerufen
Das Include fürs Login wird geladen
1.1.2.2 Der Teinehmer hatte eine normale Seite aufgerufen
Er bekommt nur die freien Inhalte zu sehen bzw. eine Warnung
Er bekommt einen Link zur Loginseite angezeigt
1.2. Es gibt keine Sessiondatei zu diesem Cookie
### hier mal selber weiter machen
### Dieser Fall entspricht aber im Wesentlichen 1.1.2
2. Er sendet keinen Cookie mit
2.1. Der Teinehmer hatte eine normale Seite aufgerufen
Er bekommt nur die freien Inhalte zu sehen bzw. eine Warnung
Er bekommt einen Link zur Loginseite angezeigt
2.2. Der Teilneher hatte gezielt die Loginseite aufgerufen
Das Include fürs Login wird geladen
Harzliche Grüße aus http://www.annerschbarrich.de
Tom