mit PHP "Perl" Cookie auslesen?

Shiivva

Erfahrenes Mitglied
Nicht über den Beitragsnamen PHP wundern, ich hab da ein "Crossprogramming-Problem".
D.h. es betrifft sowohl PHP als auch Perl (wusste nicht wo ich posten sollte :|)

Bei PHP ist ja der Inhalt eines Cookies über die Variable $cookiename verfügbar. Bei Perl ist das ja glaub ich nicht so (?).

Es geht darum, dass durch ein Newsscript (cgi-Script) ein Cookie beim Einloggen gesetzt wird.

Jetzt würde ich gerne, das auf der Startseite, die aber in PHP ist, nur für die, die sich beim Newsscript eingeloggt haben und das Cookie angenommen haben, ein Link "News schreiben" erscheint.

Wie bekomm ich das nur hin?
Oder liesse sich das anders realisieren?

Please help.

Shiivva
 
Hallo Shiivva,

Also hab ich das so richtig verstanden?
Dein Login läuft über ein CGI-Script, das bei Erfolg ein Cookie setzt. Und jetzt willst du per PHP dieses Cookie abfragen.

Gut, da wäre jetzt noch interessant zu wissen, ob die CGI- u. PHP-Scripts auf der selben Domain laufen. Denn ein Webserver kann nur Cookies auslesen, die von dessen Domain aus gesetzt wurden. (AFAIK...)

Wenn das kein Problem darstellt, dann könntest du mit folgendem Code erst mal testen, wie der Name bzw. der Inhalt des Cookies ist:
PHP:
<?
// Gibt alle verfügbaren Cookies aus:
foreach($HTTP_COOKIE_VARS as $cookie_name => $cookie_inhalt)
{
	echo $cookie_name." :: ".$cookie_inhalt."<br>";
}
?>
Also erst einloggen per CGI-Script und dann dieses PHP-Script mal aufrufen. Wenn du dann das richtige Cookie gefunden hast, fragst du per if ($HTTP_COOKIE_VARS[$name == $wert) ganz normal ab, ob es den richtigen Wert hat oder eben nicht. Sollte ja dann kein Problem mehr sein.



reima
 
Zuletzt bearbeitet:
Danke für die Antwort. Klingt alles ziemlich logisch :)
Auf dieses HTTP_COOKIE_VARS bin ich nicht gekommen :rolleyes:

Ich werds ausprobieren und mich dann melden.
 
naja, eigentlich ist es doch egal ob das cookie nun mit php, javasript oder perl gesetzt wurde !?

du kannst doch in deinem perl script einfach nachschauen wie das cookie heisst und dann über php auf das cookie zugreifen wie als wäre es mit php gesetzt..

oder nicht ? :)
 
das perl-script sah sooooo kompliziert aus, bzw. sieht es immernoch und ich dachte, dass auch nur das darauf zugreifen kann...bzw. ich nicht wusste, WIE man mit php drauf zugreifen kann.
(insb. weil ich nicht wusste, dass es eine Variable wie http_cookie_vars) gibt.

deshalb :)
 
also es klappt nicht. :(

Die CGI-Scripte und PHP-Scripte laufen auf der selben Domain, aber in versch. Verzeichnissen. Aber das dürfte ja eigentlich nicht das Problem sein, http_cookie_vars gilt doch auch verzeichnisübergreifend oder nicht?

D.h. der Cookie wird ja von einer URL http://www.domain.de/cgi-bin/newspro gesetzt, soll aber auf http://www.domain.de verfügbar sein.

Testweise hab ich einen Ordner gemacht, indem ich zwei Dateien reingepackt hab, einmal indem ich einen Cookie per PHP setze, ganz einfach über:


<?php
setcookie("cookie","hallo");
?>

Dann hab ich obiges in eine zweite Datei gespeichert und aufgerufen.
Das klappt...

Was könnte das Problem sein?
 

Neue Beiträge

Zurück