Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]672[/thread]

Perl Problem Code: PHP Code Umschreiben

Leser: 1


<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten
Gast Gast
 2006-02-19 09:40
#6920 #6920
Moin,

könnt ihr mir helfen? Ich habe einen PHP Code... der auch super funktioniert. Jetzt möchte ich das gleiche in Perl anwenden.
Weiß einer von euch wie der folgende PHP Code in PERL umgeschrieben werden muss??
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
<?
function logout() {
global $f;
session_start();
session_destroy();
header ("Set-Cookie: logged=$f; expires=Wed, 2-Jan-1987 00:00:00 GMT; path=/;");
header ("Set-Cookie: modlogin=$f; expires=Wed, 2-Jan-1987 00:00:00 GMT; path=/;");
header ("Set-Cookie: ivadmin=$f; expires=Wed, 2-Jan-1987 00:00:00 GMT; path=/;");
}

if ((isset($f)) && $f == "logout") logout();
?>


Danke\n\n

<!--EDIT|renee|1140336326-->
renee
 2006-02-19 10:04
#6921 #6921
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
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
use CGI;

sub logout{
my ($f) = @_;

#Methodenaufrufe
session_start();
session_destroy();

# Cookie-Sache
my @cookies;
for(qw/logged modlogin ivadmin/){
my $cookie = CGI::cookie(-name => $_,
-value => $f,
-expires=>'Wed, 2-Jan-1987 00:00:00 GMT',
-path=>'/',);
push(@cookies,$cookie);
}
print CGI::header(-cookie => [@cookies]);
}

if(defined($f) && $f eq 'logout'){
logout($f);
}


ungetestet!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
zeus75
 2006-02-19 10:40
#6922 #6922
User since
2006-02-19
35 Artikel
BenutzerIn
[default_avatar]
hallo renee,

ersteinmal vielen dank für deine schnelle antwort!
ich habe den code grad getestet... funktioniert leider nicht!

ich beschreibe das problem noch einmal..
also. ich befinde mich in einem memberbereich... der komplett in .php aufgebaut ist! wenn ich diesen nun verlasse... über gebe ich zu weiteren .php seiten den wert f=logout!
in diesen datein befindet sich der php code den ich weiter oben im beitrag schon aufgeführt habe! es funktioniert auch... wenn ich vom memberbereich eine dieser seiten klicke... und dann oben im browser den zurückbutton wähle... komme ich wieder auf die memberseite bin allerdings ausgeloggt... so wie es sein soll!

nun habe ich das problem das über diesen membereich auch eine seite erreichbar ist die im cgi-verzeichnis liegt und eine .pl seite ist! da funktioniert diese code nicht... leider auch dein code nicht renee!

ich habe von perl NULL Ahnung... brauche aber ne lösung... da muss es doch was geben??

gruss
ptk
 2006-02-19 13:04
#6923 #6923
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
"Funktioniert nicht" wird hier als Erklärung nicht akzeptiert. Was genau hat nicht funktioniert?
zeus75
 2006-02-19 13:19
#6924 #6924
User since
2006-02-19
35 Artikel
BenutzerIn
[default_avatar]
moinsen,

also.. code habe ich in der .pl datei eingebunden! Es gab keine Fehlermeldung... es funktioniert einfach nur nicht.

"wenn ich vom memberbereich eine dieser seiten klicke... und dann oben im browser den zurückbutton wähle... komme ich wieder auf die memberseite bin allerdings ausgeloggt"

genau das hat nicht funktioniert! Ich war weiterhin eingeloggt :-(

gruss
ptk
 2006-02-19 13:31
#6925 #6925
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Gibt es Ausgaben im errorlog? Bist du sicher, dass die logout()-Funktion aufgerufen wurde? Siehst du den erzeugten Cookie im Cookie-Manager deines Browsers?
zeus75
 2006-02-19 13:43
#6926 #6926
User since
2006-02-19
35 Artikel
BenutzerIn
[default_avatar]
moinsen,

Ausgaben im errorlog gibt es nicht. also es wird mir nichts angezeigt.... kein Error. wenn der Code in der .pl datei eingebunden ist... funktioniert sie weiterhin ohne probleme... nur eben diese logout funktion geht nicht :-(

Bist du sicher, dass die logout()-Funktion aufgerufen wurde?
Wie kann ich das überprüfen?

Siehst du den erzeugten Cookie im Cookie-Manager deines Browsers?
Muss ja ein da sein.. weil es mit der .php datei funktioniert und gelöscht wird.

Danke
Gruss
ptk
 2006-02-19 23:11
#6927 #6927
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Mach "printf-Debugging", d.h. füge ein
Code: (dl )
warn "bla";
in die logout-Funktion ein.

Was den Cookie angeht: vielleicht wurde er doppelt erzeugt oder expires stimmt nicht oder oder oder. Schau mal rein, der Cookie-Manager gibt dir einige Informationen!
renee
 2006-02-20 00:41
#6928 #6928
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Vielleicht kannst Du auch ein wenig mehr Code zeigen, was Du schon hast...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
zeus75
 2006-02-20 09:59
#6929 #6929
User since
2006-02-19
35 Artikel
BenutzerIn
[default_avatar]
moin moin,

kein problem. hier der anfang des codes! vielleicht hilft es dir ja weiter?

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
#!/usr/bin/perl
require CGI;
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);
use Time::Local;
use File::Spec;
use Fcntl qw(:flock);
use URI;
#use XML::Simple;
use CGI qw(:standard -no_debug);
require "konfiguration.txt";
require "text.txt";
$timeout=45;

my $cgi = new CGI;
my $state = $cgi->param("wmid");
my $sid = "773XXXXXX";

if ($state =~ m/773[0-9]{6,6}/) { }
else {$state =~ s/$state/$sid/}



# Nicht verändern
#########################################################


gruss\n\n

<!--EDIT|zeus75|1140422449-->
<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten



View all threads created 2006-02-19 09:40.