PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Nach Header Location sind Cookies weg (http://www.selfphp.de/forum/showthread.php?t=21169)

einsteigi 18.03.2009 13:38:32

Nach Header Location sind Cookies weg
 
Ohje, jetzt hab ich das Problem mit dem Login mit Cookies gelöst, schon hab ich ein neues!
Sobald Cookies geseztz sind soll mit Header Location eine Weiterleitung auf die interne Seite erfolgen, jedoch sind die Cookies nicht mehr vorhanden.
Wie krieg ich das in den Griff?
Weshalb sind die Cookies weg. Die werden doch auf dem Rechner für 10 Min. gespeichert?

index.php
PHP-Code:

<?php
session_start
();
if ( !empty(
$_POST['senden_login']) && !empty($_POST['login_gesendet']) && empty($meldung) )
{
    
$_SESSION['loginVersuch'] = true;
    
$Hash md5(md5($passwortEmailAusDB['email']).$passwortEmailAusDB['passwort']);
    
setcookie('login'truetime() + 60*10);
    
setcookie('email'$passwortEmailAusDB['email'], time() + 60*10);
    
setcookie('hash'$Hashtime() + 60*10);
    
header('Location: '.$urlUnternehmen.'1/'.$2.'/Login/'.substr(SID, - 32));
}

// Prüfen ob Cookies nicht aktzeptiert worden
if (!empty($_SESSION['loginVersuch']) && $_SESSION['loginVersuch'])
{
    if ( !isset(
$_COOKIE['email']) && !isset($_COOKIE['hash'])  && !isset($_COOKIE['login']) )
    {
        
//<!-- Sprache müssen aktzeptiert werden. -->
        
$rowSpracheFromSprachen readSpracheFromSprachen($variable 'wurdenNichtAktzeptiert'$sprache $ermittelteSpracheInjectionfree);
        
$sprache $rowSpracheFromSprachen[$ermittelteSpracheInjectionfree];
        if ( !empty(
$sprache) ){ $wurdenNichtAktzeptiert $sprache; }
        
        
$cookiesWurdenNichtAkzeptiert 'Cookies '.$wurdenNichtAktzeptiert;
    }
    if (  !empty(
$_COOKIE['email']) && !empty($_COOKIE['hash'])  && $_COOKIE['login'] )
    {    
        
//Cookies akzeptiert
        
header('Location: '.$urlUnternehmen.'1/intern/');
    }
}
echo 
'loginVersuch '; if ( !empty($_SESSION['loginVersuch']) ) {echo $_SESSION['loginVersuch']; } echo'<br />'
echo 
'email '; if ( !empty($_COOKIE['email']) ) {echo $_COOKIE['email']; } echo '<br />'
echo 
'hash '; if ( !empty($_COOKIE['hash']) ) {echo $_COOKIE['hash']; } echo '<br />';
echo 
'login '; if ( !empty($_COOKIE['login']) ) {echo $_COOKIE['login']; } echo'<br />';
?>


intern/index.php


PHP-Code:

    if ( !isset($_COOKIE['email']) && !isset($_COOKIE['hash'])  && !isset($_COOKIE['login']) )
    {
        
/*header('Location: '.$urlUnternehmen.'1/'.$2.'/Login/');*/
        
echo 'Cookies sind weg';
    }
    if (  !empty(
$_COOKIE['email']) && !empty($_COOKIE['hash'])  && $_COOKIE['login'] )
    {    
        
//Cookies akzeptiert
        
echo 'COOKIES Vorhanden!';
    }
echo 
'email '; if ( !empty($_COOKIE['email']) ) {echo $_COOKIE['email']; } echo '<br />'
echo 
'hash '; if ( !empty($_COOKIE['hash']) ) {echo $_COOKIE['hash']; } echo '<br />';
echo 
'login '; if ( !empty($_COOKIE['login']) ) {echo $_COOKIE['login']; } echo'<br />'


urvater 18.03.2009 17:07:06

AW: Nach Header Location sind Cookies weg
 
Bevor das hier wieder ausartet: Die Weiterleitung bleibt aber auf dem gleichen Server oder?

einsteigi 18.03.2009 17:26:55

AW: Nach Header Location sind Cookies weg
 
Ja, domain bleibt die selbe.

DokuLeseHemmung 18.03.2009 17:40:34

AW: Nach Header Location sind Cookies weg
 
Zitat:

Zitat von einsteigi (Beitrag 126069)
Ja, domain bleibt die selbe.

Glaube ich nicht.

Path und/oder Domain sind anders!
Sonst würde es ja funktioninieren.

setcookie() hat mehr als 3 Parameter.
In deinem Fall scheinen der vierte und fünfte auch notwendig zu sein.
Nutze sie...

Zitat:

Bevor das hier wieder ausartet:
Naja, nach über 120 Postings sollte man das PHP Handbuch doch schon gefunden haben. Ein bisschen Mäcker muß da erlaubt sein.

einsteigi 18.03.2009 20:34:43

AW: Nach Header Location sind Cookies weg
 
@ DokuLeseHemmung
Meine damit die url.de domain, und die bleibt gleich, der Pfad ändert sich, sie man aus der Header Location sehen kann.
Ich hab die Info von Cookies von http://tut.php-quake.net/de/cookies.html
konnte ja nicht wissen, das dort nicht alles beschrieben wurde. Dachte mir wenn du das kopierst reicht das.
Für die Neulingen setze nun den Cookies so:
setcookie('login', true, time() + 60*10, '/folder/', 'www.domain.de');
usw.....

Beschreibung dazu http://de.php.net/setcookie

Nochmals vielen Dank für den Hinweis, wegen settcookies.

cortex 19.03.2009 09:02:37

AW: Nach Header Location sind Cookies weg
 
Zitat:

Zitat von einsteigi (Beitrag 126081)
Dachte mir wenn du das kopierst reicht das.

vs.

Zitat:

Zitat von einsteigi (Beitrag 126081)
Für die Neulinge [...]

den widerspruch siehst du selbst, ja?

cx

DokuLeseHemmung 19.03.2009 12:53:04

AW: Nach Header Location sind Cookies weg
 
Zitat:

Zitat von einsteigi (Beitrag 126081)
@ DokuLeseHemmung

konnte ja nicht wissen, das dort nicht alles beschrieben wurde. Dachte mir wenn du das kopierst reicht das.

Nochmals vielen Dank für den Hinweis, wegen settcookies.

1. Aber jetzt weißt du es!
2. Ich kopiere da gar nix
3. Das war ein Hinweis auf das Handbuch!

Und ich bin mir recht sicher, dich schon mal mit der Nase ins Handbuch gestoßen zu haben.

Merksatz: (10 mal laut vorlesen und 1 mal hinter die Ohren schreiben)
Erst ins Handbuch schauen und wenn dann noch was unklar ist, im Forum fragen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:38:18 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.