php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Nur noch das ;-)


 
david_kri
25-07-2003, 01:09 
 
Ich bekomme beim löschen eine Fehlermeldung:

Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /home/www/htdocs/......./functions.inc.php on line 142

huch??? was ist denn das??

 
uschi
25-07-2003, 01:59 
 
1) hast du session_start(); auf der seite ?
2) wurde die SID übergeben. Teste mal mit session_id

// EDIT: Wie der Name der Fehlermeldung schon sagt, konnte die SID nicht (eindeutig) initialisiert werden, also liegt das Problem bestimmt im obigen, wenn nicht, gibt's bestimmt noch mehr Antworten hier ;)

 
david_kri
25-07-2003, 02:16 
 
Session ist gestartet... alles in ordnung...

dann kommt: session_unset();
session_destroy();

 
uschi
25-07-2003, 02:26 
 
aber ist das nicht doppelt gemoppelt ?


session_destroy sollte doch eigentlich reichen, denn in beiden fällen werden die daten aus der session gelöscht ! tritt die fehlermeldungs auch auf, wenn du session_unset(); weglässt ?

 
david_kri
25-07-2003, 02:29 
 
Fehlermeldung bleibt....

Ich will, dass die Sessiondate weg ist..

 
mrhappiness
25-07-2003, 08:52 
 
die session-datei kriegst du damit eh nicht weg, die musst du von hand löschen (gibt nen schnipsel dazu)

aber warumwilst du die löschen?

die session-datei selbst befindet sich normalerweise in nem verzeichnis überhalb des html--root, sprich: man kommt von außen nur sehr schwer dran, eh sei denn, man hat deine ftp-daten *g*

und gelöscht wird die auch automatisch

 
marc75
25-07-2003, 10:21 
 
Original geschrieben von mrhappiness
die session-datei kriegst du damit eh nicht weg, die musst du von hand löschen (gibt nen schnipsel dazu)

aber warumwilst du die löschen?

die session-datei selbst befindet sich normalerweise in nem verzeichnis überhalb des html--root, sprich: man kommt von außen nur sehr schwer dran, eh sei denn, man hat deine ftp-daten *g*

und gelöscht wird die auch automatisch

ja das stimmt schon, aber wenn er die sessionid per url übergibt und diese adresse irgendwo abgespeichert wird (eventl. per zufall) und sich nicht man. ausloggt, kann ein anderer mit dieser adresse sich dort z.B. die Daten des vorherigen Benutzers ansehen.
Da das automatische löschen der session sich schon mal ein wenig hinziehen kann.

Darum vermute (voll geraten) ich mal will er die Daten selber löschen. Sonst wüsste ich jetzt keinen Grund.

 
wahsaga
25-07-2003, 11:09 
 
Original geschrieben von marc75
Da das automatische löschen der session sich schon mal ein wenig hinziehen kann.
selbst wenn die session-datei rein physikalisch noch da ist - eine abgelaufene session bleibt abgelaufen. nach dem verstreichen des session timeouts besteht da also auch keine gefahr mehr.

 
marc75
25-07-2003, 12:10 
 
Original geschrieben von wahsaga
selbst wenn die session-datei rein physikalisch noch da ist - eine abgelaufene session bleibt abgelaufen. nach dem verstreichen des session timeouts besteht da also auch keine gefahr mehr.

mhh und warum kann ich diese, wenn ich sie abspeichere und später wieder aufrufe immernoch benutzen und sehe alle daten? Und das zum Teil über mehrere Stunden nach dem letzten Aufruf. Hab das schon an einigen progs. probiert und ging.

 
mrhappiness
25-07-2003, 13:11 
 
session-timeout?

 
david_kri
26-07-2003, 03:44 
 
Ich bin nun seit 3 Tagen an dem Session Problem.

Ich komme und komme einfach nicht weiter. Ich habe schon code von anderen Loginbereichen implementiert, diesen auf meine Seite abgepasst usw usw usw. Trotzdem läuft nix.

Nun die Fragen die die Lösung evtl herbeirufen könnten:

Wie Wann muss ich Wo welche Befehle Abfragen übergaben machen,
damit sich keine Sau ohne Login in den geschützten Bereich einschleichen kann. Ich arbeite folgendermassen:

Startseite = index.php -> Session jetzt schon starten??? wenn ja wie und wo.
Hier der Link zu der Seite (http://www.mitgeboten.de/test/index.php)

Beim klicken auf Senden wird das Script: check_user.php aufgerufen wo folgendes drin steht:


<?php
require_once("functions.inc.php");
$new2 = crypt($id,CRYPT_BLOWFISH);
login($username,$new2);
?>


Das Loginscript ist hier:

function login($username,$new2)
{
if(empty($username))
{

echo $error_login;

}

$DB = new DB;

$DB->ConnectDB("localhost","***","***","***");

$DB->Query("SELECT * FROM `convest21` WHERE name = '$username'");

$DB->FetchRow();


if ($username == $DB->result[1] && $new2 == $DB->result[9])
{
echo "<center>Login erfolgreich</center>";

echo "<form name='loginform' action='login.php' method='POST' target='_self'>\n";

echo "</form>\n";

$DB->CloseLink();

echo "<script language='JavaScript'>document.loginform.submit();</script>";

}
else
{

$DB->CloseLink();

print $error_login;

EXIT;
}
}


und hier die Login.php die bei erfolg aufgerufen wird:



<?php
include('functions.inc.php');

switch ($exec_command) {
case mail:

include("links.php");
echo "<br><br>";
contact($PHPSESSID);
break;

case userdata:
include("links.php");
echo "<br><br>";
user_data($PHPSESSID);
break;

case order:
include("links.php");
echo "<br><br>";
order($array);
break;

case news:
include("links.php");
echo "<br><br>";
include('./tmpl/news.temp');
break;

case presentations:
include("links.php");
echo "<br><br>";
include('./tmpl/presentations.temp');
break;

case logout:
include("links.php");
echo "<br><br>";
logout();
break;

default:
include("links.php");
echo "<br><br>";
echo "Herzlich Willkommen...";

}
?>


Wie gesagt: wo hau ich die ganzen Sessionbefehle hin?????


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:43 Uhr.