mark: session übergaben

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

  1. 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

    1. 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

      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";
      }

  2. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau