Autor |
Nachricht |
Nimroy
Community Manager Threadersteller
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Sa 24.06.2006 23:06
Titel
|
|
|
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.
|
|
|
|
|
Nimroy
Community Manager Threadersteller
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Mo 26.06.2006 09:41
Titel
|
|
|
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>");
}
?> |
|
|
|
|
|
Anzeige
|
|
|
eViLaSh
Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht:
|
Verfasst Mo 26.06.2006 09:50
Titel
|
|
|
du musst bevor du eine $_SESSION variable abfrägst erstmal mit session_start (); loslegen.
dann sollte es klappen.
|
|
|
|
|
Nimroy
Community Manager Threadersteller
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Mo 26.06.2006 09:53
Titel
|
|
|
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.
|
|
|
|
|
eViLaSh
Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht:
|
Verfasst Mo 26.06.2006 10:02
Titel
|
|
|
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?
|
|
|
|
|
Nimroy
Community Manager Threadersteller
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Mo 26.06.2006 10:05
Titel
|
|
|
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.
|
|
|
|
|
eViLaSh
Dabei seit: 22.05.2003
Ort: Texas
Alter: 40
Geschlecht:
|
Verfasst Mo 26.06.2006 10:13
Titel
|
|
|
nene, du musst das auf jeder seite einbauen, er nimmt dann die alte session auf, mit session_destroy(); würdest du sie löschen
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.
|
|
|
|
|
|
Nimroy
Community Manager Threadersteller
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Mo 26.06.2006 10:17
Titel
|
|
|
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?
|
|
|
|
|
|
|
|
Ä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 ?
|
|