mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 20:52 Benutzername: Passwort: Auto-Login

Thema: User- und Session-ID per Cookie, Session oder in URL durchre vom 23.06.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> User- und Session-ID per Cookie, Session oder in URL durchre
Seite: Zurück  1, 2, 3  Weiter
Autor Nachricht
Nimroy
Community Manager
Threadersteller

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Sa 24.06.2006 23:06
Titel

Antworten mit Zitat Zum Seitenanfang

Ich probier das mal aus. Danke! Ich trag die Session_Id aus Sicherheitsgründen in eine Datenbanktabelle ein und frag halt auf jeder Seite ab, ob die aktuelle Session_Id mit der in der DB eingetragenen übereinstimmt.

Aber wie gesagt, ich probier das mal aus, ob er jetzt in die If-Bedingung springt oder ob er immer noch beim else landet. Sollte das der Fall sein, komm ich wohl nicht umhin, ein bißchen mehr Code zu zeigen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Nimroy
Community Manager
Threadersteller

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Mo 26.06.2006 09:41
Titel

Antworten mit Zitat Zum Seitenanfang

So, ich hab das mal ausprobiert, aber es geht nicht. Weder mit isset(session_id()) noch so wie unten mit der Session-Variablen. Er springt einfach nicht in die erste If-bedingung.

Code:
<?PHP
if (isset($_SESSION['id'])){
  $id = $_SESSION['id'];
  include ("config.inc.php");
  $dbname = db_connect();
  $anfrage = "SELECT * FROM login_sessions_valid WHERE session_id = '".$id."'";
  $ergebnis = db_query($anfrage);
  $anz = mysql_num_rows($ergebnis);
  if ($anz == 1){
  $user = $ergebnis['id_registered'];
  print ("<body>
  <div id='navi'>
     <ul>
         <li><a href='admin_index.php'>Admin-Home</a></li>
         <li><a href='new_project.php'>2. Neue Aktion anlegen</a></li>
         <li><a href='enter_dos.php'>3. Teilnehmer eintragen</a></li>
         <li><a href='enter_donts.php'>4. Ausschschlüsse festlegen</a></li>
         <li><a href='show_pairs.php'>5. Paarungen anzeigen</a></li>
         <li><a href='send_mails.php'>6. Mail verschicken</a></li>
     </ul>
</div>
<div id='content'>
   <h1>Eine neue Aktion anlegen</h1>
   <form name='basisdaten_neue_aktion' action='insert_new.php' method='post'>
   <input type='hidden' name='user' value='".$user."'/>;
   Name der Aktion:
   <input type='text' name ='aktionsname' size='20' /><br />
   Ungefähre Anzahl der Teilnehmer (kann später noch verändert werden):
   <input type='text' name='teilnehmeranzahl' size='2' /><br />
   Art des Wichtelns:
   <select name='wichtelart'>
      <option value='Normal'>Normales Wichteln</option>
      <option value='Schrott'>Schrottwichteln</option>
      <option value='Verdeckt'>Verdecktes Wichteln</option>
    </select>
   </form>
</div></body>");
  }
  else {
    print ("<body>");
    print ("Sie sind nicht eingeloggt. Bitte loggen Sie sich zuerst ein. <br />");
    print ("<a href='index.php'>Zum Login</a></body>");
  }
}
else {
  print ("<body>");
  print ("Sie sind ja gar nicht eingeloggt. Bitte loggen Sie sich zuerst ein. <br />");
  print ("<a href='index.php'>Zum Login</a></body>");
}
?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
eViLaSh

Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht: Männlich
Verfasst Mo 26.06.2006 09:50
Titel

Antworten mit Zitat Zum Seitenanfang

du musst bevor du eine $_SESSION variable abfrägst erstmal mit session_start (); loslegen.

dann sollte es klappen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Nimroy
Community Manager
Threadersteller

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Mo 26.06.2006 09:53
Titel

Antworten mit Zitat Zum Seitenanfang

Das mache ich in einer anderen Datei, wenn dich der User erfolgreich eingeloggt hat. Die oben gezeigte Funktion ist ein Menüpunkt, der sich weiter hinten im internen Bereich befindet. Die Seite direkt nach dem Login funktioniert auch. Aber das liegt daran, dass ich nach dem Login die id übergebe und nicht per Session-Variable abfrage.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
eViLaSh

Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht: Männlich
Verfasst Mo 26.06.2006 10:02
Titel

Antworten mit Zitat Zum Seitenanfang

du musst in jeder datei (bzw. augegebenen datei) mit session_start(); beginnen.

oder hast du diese (also der gepostete codeschnippsel) in einer anderern included?

was gibt er denn bei echo $_SESSION['id'] aus?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Nimroy
Community Manager
Threadersteller

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Mo 26.06.2006 10:05
Titel

Antworten mit Zitat Zum Seitenanfang

eViLaSh hat geschrieben:
du musst in jeder datei (bzw. augegebenen datei) mit session_start(); beginnen.

oder hast du diese (also der gepostete codeschnippsel) in einer anderern included?

was gibt er denn bei echo $_SESSION['id'] aus?


Nix. Aber das mit session_start fehlt tatsächlich. Dachte bisher, der macht dann ne neue Session auf.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
eViLaSh

Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht: Männlich
Verfasst Mo 26.06.2006 10:13
Titel

Antworten mit Zitat Zum Seitenanfang

nene, du musst das auf jeder seite einbauen, er nimmt dann die alte session auf, mit session_destroy(); würdest du sie löschen *zwinker*

Zitat:
session_start
(PHP 4 >= 4.0.0)

session_start -- Initialisiert eine Session
Beschreibung
bool session_start ( void)
session_start() erzeugt eine Session (oder nimmt die aktuelle, basierend auf der Session-ID, die über eine GET-Variable oder ein Cookie übermittelt wurde, wieder auf).

Wenn Sie eine benannte Session verwenden wollen, müssen Sie session_name() aufrufen, bevor Sie session_start() aufrufen.

Diese Funktion gibt immer TRUE zurück.

Anmerkung: Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.



Zitat:
session_destroy
(PHP 4 >= 4.0.0)

session_destroy -- Löscht alle in einer Session registrierten Daten
Beschreibung
bool session_destroy ( void)
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende Globale Variablen und das Session-Cookie werden nicht gelöscht.

Diese Funktion gibt nach erfolgtem Löschen der Daten TRUE zurück und FALSE, wenn dabei ein Fehler auftritt.

  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Nimroy
Community Manager
Threadersteller

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht: Männlich
Verfasst Mo 26.06.2006 10:17
Titel

Antworten mit Zitat Zum Seitenanfang

okilidokili

Das werd ich nachher mal testen. session_destroy darf ich folglich nur im logout benutzen und das das sesion_start muss noch vor der if-abfrage passieren, denn sonst kann er ja die Variable nicht abfragen, gelle?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen andere Session-Daten in HTTP und HTTPS trotz Cookie
session id?
PHP - Probleme mit der SESSION
DVD- Session brennen auf MAC?
session übergeben???
PHP-SESSION aktualisieren ?
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.