Alain: cookies abfragen ob wert unbekannt?

hallo guten Morgen,
Ich hab nun ein problem mit dem cookie setzen bzw. abfragen welcher wert
das cookie nun hat.
Dazu benutzte ich die vorgabe von selfhtml:
#!/usr/bin/perl -w
use strict;
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);
my $CTIME_String = localtime(time);
my $altCookie = $cgi->cookie(-name=>'members');
my $neuCookie = $cgi->cookie(-name=>'members',
                              -value=>$CTIME_String,
                              -expires=>'+3h',
                              -path=>'/');

print $cgi->header(-cookie=>$neuCookie),
    $cgi->p($altCookie || 'unbekannt'),
    $cgi->p($CTIME_String);

dieses .cgi hab ich in die erste html.seite so
<img SRC="cookie.cgi" NOSAVE BORDER=0 height=1 width=1>
 eingefügt.Funktioniert soweit ganz gut mit dem setzen.

Nun möchte ich aber über ein anderes cgi diesen wert abfragen ob
das cookie members= nun 'unbekannt' bzw. bereits abgelaufen ist oder nicht.

Ich habe es mal so versucht:

my $members = $ENV{'HTTP_COOKIE'};
@members = 'unbekannt';

print "Content-type: text/html\n\n";

if ($members eq /unbekannt/){
print "<HTML>error etc....... }\n";

was aber nicht ging.Das zweite war ich wollte das cookie.cgi eigentlich
einbinden ins andere aber das
print "Content-type: text/html\n\n";
scheint dafür nicht das richtige zu sein?!

Gruss vom Alain

*DerWeiterVersuchtJetztAberErstmalSchlafenGeht*

  1. Hallo Allain,

    my $members = $ENV{'HTTP_COOKIE'};
    @members = 'unbekannt';

    print "Content-type: text/html\n\n";

    if ($members eq /unbekannt/){
    print "<HTML>error etc....... }\n";

    was aber nicht ging.

    Dder String in der Variablen $ENV{'HTTP_COOKIE'}, umgespeichert nach $members enthält die mehrere Informationen (auch Domain, Verfallszeit usw.), die du erst (z.B. mittels regulärer Aüsdrücke) auseinanderziehen mußt. vgl. das Beispielprogramm (am Schluß)http://www.bewley.net/perl/cookie-test.pl und die zugehörigen Erläuterungen http://www.bewley.net/perl/cookie-test.html

    Gruß
    Hans35

    1. Hallo Allain,

      hi Hanns35,
            ^(:))

      Der String in der Variablen $ENV{'HTTP_COOKIE'}, umgespeichert nach $members enthält die mehrere Informationen (auch Domain, Verfallszeit usw.), die du erst (z.B. mittels regulärer Aüsdrücke) auseinanderziehen mußt. vgl. das Beispielprogramm (am Schluß)http://www.bewley.net/perl/cookie-test.pl und die zugehörigen Erläuterungen http://www.bewley.net/perl/cookie-test.html

      Gruß
      Hans35

      Danke für die Mühe aber ich habs jetzt gefunden die lösung,
      der zweite cookie-eintrag vom anderen cgi ist folgender:

      $cookies = split(/[;,]\s*/,$ENV{'HTTP_COOKIE'});

      print "Content-type: text/html\n\n";

      if ((!$check_referer) or ($ENV{'HTTP_REFERER'} eq /-/ and $cookies == 0)){
        print "<HTML>error...etc...</BODY>
        </HTML>\n";
        SendMail();

      es funktioniert tadelos so
      Gruss vom Alain