Thread zum xten mal apache::session::*: wie genau funktionierts? (3 answers)
Opened by Lukas at 2004-05-23 01:08

Lukas
 2004-06-12 01:05
#2524 #2524
User since
2004-04-11
6 Artikel
BenutzerIn
[default_avatar]
Soo, ich hab mal hin und mal hergecodet, hat aber alles irgendwie nich so richtig funktioniert. Zumindest hab ich jetzt das cookie zum laufen gebracht. Da war ein Fehler mit dem Pfad, ohne Pfad funktioniert das ganze.

Was noch immer nicht funktioniert ist das mit dem tmp Verzeichnis. Ich habe das Verzeichnis auf dem Server erstellt (Puretec - Premium Paket). Schreibrechte haben bisher eigentlich immer funktioniert.


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/perl
use warnings;
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use Apache::Session::File;

my $query = new CGI;
my %session;
my $id = undef;
my $cookie;

my $id = $query->cookie('SID01');

tie %session, 'Apache::Session::File', $id,
      { Directory => "/tmp/",
          LockDirectory => "/tmp/"};


unless (defined($id)) {
    $cookie = $query->cookie( -name=>'SID01',
                -value=>$session{_session_id},
                -expires=>'+1y'
);
    print $query->header(-cookie=>$cookie);
    print "Assigned session ID<br>";
}
else {
    print $query->header();
    print "Not assigned session ID<br>";
};

$id = $session{_session_id};

print "<html>";
print " <head><title>Session ID</title></head>";
print " <body bgcolor=#ffffff>";
print " Your session ID is $id";
print " </body>";
print "</html>";


hab auch mal mit

Code: (dl )
1
2
3
4
5
if( -e $session_verzeichnis . $id) {
  print "Datei existiert\n";
} else {
  print "Datei existiert nicht\n";
}

getestet. Leider wird mir immer angezeigt "Datei existiert nicht".

Kann sein, dass ich mich hier etwas zu n00big anstelle ;)

hier noch eine Übersetzung der Funktion tie von mir für alle die wie ich das noch nicht so ganz gerafft haben(wörtlich ;) ) :

tie VARIABLE,CLASSNAME,LIST
This function binds a variable to a package class that will
provide the implementation for the variable.  VARIABLE is the
name of the variable to be enchanted.  CLASSNAME is the name of
a class implementing objects of correct type.


tie VARIABLE, Klassenname, Liste

Diese Funktion bindet eine Variable an eine Paket Klasse, die die
Implementierung der Variable unterstützen wird.
VARIABLE ist der Name der Variable, die "verzaubert/entzückt" werden soll.
Klassenname ist der name der Klasse, die Objekte des richtigen Typs implementiert.

edit:

Hab alles zum laufen bekommen, wichtig ist nämlich, dass bei puretec nicht nur '/tmp' angegeben wird sondern der absolute pfad.
Sieht ungefähr so aus: '/homepages/21/d67481244/htdocs/tmp'\n\n

<!--EDIT|Lukas|1087028462-->

View full thread zum xten mal apache::session::*: wie genau funktionierts?