php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.05.2005, 16:07  
Erfahrener Benutzer
 
Registriert seit: 14.05.2008
Beiträge: 183
netti befindet sich auf einem aufstrebenden Ast
Standard seltsames php und session problem

Hallo zusammen!

Ich habe hier ein kleines Problem mit einem session basierendem loginscript.

Nun zum ersten logge ich mich natürlich ein. Dann lande ich auf einer internen Seite mit überblick. Jetzt kann ich überall hin navigieren. Dabei wird mir unten immer der Punkt Logout angezeigt. Wenn man auf ihn klick SOLLTE man auf die gleiche Seite geleitet werden, auf der man logout geklickt hat (alle internen seiten sind auch für normale user in beschränktem umfang begehbar)

Realisiert habe ich das mit folgendem code (Session wurde gestartet):

PHP-Code:
<?php
  $_SESSION
['herkunft'] = $_SERVER['PHP_SELF'];
  print 
'[img]data/d_view_logout.gif[/img][b][url="logout.php"]Logout[/url][/b]';
?>
logout.php:
PHP-Code:
<?php
//Session mal wieder starten
session_start();

//Wenn eingeloggt
if ($_SESSION['loggedIn']) {
//Session auf ausgeloggt setzen
$_SESSION['loggedIn'] = false;

$herkunft $_SESSION['herkunft'];

//last but not least: Session zerstören!
session_destroy();

//uuuund...weiterleiten
header("Location: $herkunft");
exit();
} else {
//ansonsten
header("Location: login.php");
exit();
}
?>
Tja, soweit so gut...komischer Weise leitet er mich aber nicht nach $herkunft weiter, sondern nach /favicon.ico was ich aber sehr komisch finde, da ich diese adresse weder habe, noch irgendwann irgendwo erwähnt habe.

Weiter zu bemerken ist, dass das vor einfügen der internen willkommenseite -fast- im,er ging, aber jetzt auf einmal nicht mehr.

gebe ich nun die besagte $_Session[#herkunft'] vorher mit
PHP-Code:
<?php
  
print $_SESSION['herkunft'];
?>
aus, zeigt er mir die korrekte aktuelle seite an. Aber während der überleitung zu logout.php scheint das was zu passieren was ich nicht verstehe...

Wer sich angucken möchte, wie das realisiert ist:
http://www.netswipe.de/

Danke für eure hilfe, bin echt am verzweifeln.
netswipe
netti ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.05.2005, 16:30  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

gib mal "Location: $herkunft" aus, direkt bevor Du es benutzt
__________________
mod = master of disaster
Waq ist offline   Mit Zitat antworten
Alt 27.05.2005, 16:57  
Erfahrener Benutzer
 
Registriert seit: 14.05.2008
Beiträge: 183
netti befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Waq
gib mal "Location: $herkunft" aus, direkt bevor Du es benutzt
hm also
PHP-Code:
<?php
[...]
print 
"Location: $herkunft";
$herkunft $_SESSION['herkunft'];

//last but not least: Session zerstören!
session_destroy();
[...]
?>
sagt Location: /favicon.ico

netti ist offline   Mit Zitat antworten
Alt 30.05.2005, 13:13  
Gast
 
Beiträge: n/a
Standard

<?
$_SESSION['herkunft'] = $_SERVER['PHP_SELF'];


versuch mal ob bei GLOBALS die gleiche Seite geöffnet wird:
$_SESSION['herkunft'] = $GLOBALS['PHP_SELF'];

Ein anderes Problem welches ich mit sessions schon hatte, war dass ich keinen vollen Zugriff auf $_SESSION hatte. Hängt von den Einstellungen des Servers ab.
gelöst habe ich es damals folgendermaßen:
$session = $GLOBALS['_SESSION'];

in dinem Fall wäre dann $session['herkunf'] deine PHP_SELF.

vielleicht hilft dir das ja weiter?

Gruß Martin
  Mit Zitat antworten
Alt 31.05.2005, 17:59  
Erfahrener Benutzer
 
Registriert seit: 14.05.2008
Beiträge: 183
netti befindet sich auf einem aufstrebenden Ast
Standard

hm komischer weise geht es jetzt wiede reinwandfrei

ich hab ne andere Variable genommen. Dann gings erstmal wieder, glaube abe rnicht, dass es daran liegt, die variable $herkunft habe ich in 20 seiten höchstens einmal benutzt und wenn würde sie vor dem session setzten benutzt, sprich wird überschreiben

Ich weiß nicht woran es lag, aber sollt4e ich das Problem nochmal haben, werde ich es probieren
danke dir
netswipe
netti ist offline   Mit Zitat antworten
Alt 31.05.2005, 20:47  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von netswipe
hm komischer weise geht es jetzt wiede reinwandfrei

ich hab ne andere Variable genommen.
Das läßt vermuten, daß Du mit register_globals = On arbeitest, was man nicht tun sollte, wenn man mit Sessions und $_SESSION arbeitet.

Für die Forumsuche

Dieses Script demonstriert, wie es im Sessionbetrieb zu fehlerhaften Ergebnissen kommen
kann, wenn register_globals = On ist.

seite1:
PHP-Code:
<?php
session_start
();
$_SESSION['abc'] = 'seite 2';

printf('[url="index1.php?%s"]Klick[/url]
'
SID);
?>
seite2:
PHP-Code:
<?php
$abc 
'seite 3';
session_start();
echo 
'$abc=' $abc;
?>
Onlinebeispiel:
http://test.php-help.info/session-7/
  Mit Zitat antworten
Alt 31.05.2005, 21:05  
Erfahrener Benutzer
 
Registriert seit: 14.05.2008
Beiträge: 183
netti befindet sich auf einem aufstrebenden Ast
Standard

Okay danke dir. register_globals ist an auf dem Webserver.
Hätte ich nicht gehabt die Idee. Danke für den Hinweis
netti ist offline   Mit Zitat antworten
Alt 31.05.2005, 22:38  
Erfahrener Benutzer
 
Registriert seit: 19.11.2003
Beiträge: 172
BastianX75
Standard

Hi,

ganz nebenbei:

$_SERVER['PHP_SELF'] liefert ein Ergebnis wie
Code:
/pfad/script.php
header("Location: xxx") erwartet aber eine Adresse wie:
Code:
http://www.domain.de/pfad/script.php
würde also folgendes vorschlagen:
PHP-Code:
<?php
header
('Location: http://'.$_SERVER['HTTP_HOST'].$_SESSION['herkunft']);
?>
__________________
Schönen Gruß
Sebastian

Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie braucht.
BastianX75 ist offline   Mit Zitat antworten
Alt 31.05.2005, 23:51  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von BastianX75
header("Location: xxx") erwartet aber eine Adresse wie:
Code:
http://www.domain.de/pfad/script.php
Richtig. Das kriegste aber nicht mehr in die Köppe rein - den Kampf gegen diese Windmühlen habe ich aufgegeben. Wer falsches HTML schreibt (betrifft möglicherweise nicht den OP), dem ist auch das HTTP Protokoll völlig Wurscht.
  Mit Zitat antworten
Alt 01.06.2005, 10:20  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

das Problem an der header-Geschichte ist, dass es ja auch falsch benutzt trotzdem funktioniert!
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Problem mit Session Charly Shop Sui PHP Tipps 2006 13 25.08.2006 17:08
Und noch ein Session Problem... Weyoun PHP Tipps 2006 9 27.02.2006 22:17
[Erledigt] Problem mit Session PHP Tipps 2005-2 1 06.08.2005 19:07
SESSION Problem mit Opera 7 [Gelöst] akratellio PHP Tipps 2005-2 4 14.07.2005 10:51
Problem mit Session PHP Tipps 2005-2 13 10.07.2005 18:20
Session Problem PHP Tipps 2005 4 16.05.2005 17:50
Session Problem PHP Tipps 2005 6 20.02.2005 22:28
Session Problem PHP-Fortgeschrittene 3 18.02.2005 14:37
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
[Erledigt] PHP Session Problem, dringend! PHP-Fortgeschrittene 17 21.10.2004 21:15
Session wird falsch wieder aufgenommen - Problem mit Session PHP Tipps 2004 2 16.10.2004 14:30
session problem PHP Tipps 2004 2 22.07.2004 08:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
header location session voller pfad, problem php session_start(), session problem php, php session_start problem https, php session_start problem, php session favicon.ico, $_server weiterleitung herkunft php, php header location herkunft, header location ursprung seite

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.