SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.03.2005, 21:56:09
jotka jotka ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Leonberg, DE 71229
Beiträge: 8
Problem mit $_SESSION und Frames

Hallo,

mit Frames habe ich auf verschiedenen Installationen ein unterschiedliches Verhalten bekommen, das ich mir nicht erklären kann:

In der Framesetdatei setze ich eine Session-Variable.
Im ersten Frame verwende ich sie.
Im zweiten Frame verwende ich sie ebenfalls.

Ergebnis: Auf zwei Installationen mit php-Versionen 4.3.1 bzw. 4.3.4 bekomme ich auch im zweiten Frame den korrekten Wert.
Auf einer 4.3.3-Installation funktioniert das nur dann, wenn es im ersten Frame keine "normale" Variable gleichen Namens gibt.

Mein Fragen:
  • Liegt das wirklich an den php-Versionen? Oder an was sonst?
  • Hat jemand eine Idee, wie ich das auch im Problemfall hinbekomme?

Die Beispieldateien habe ich unten als abgestrippte Testversion aufgelistet, ebenso meine Testergebnisse.
Der oben beschriebene Unterschied für die 4.3.3-Installation tritt auf, je nachdem die include()-Zeile in header.php auskommentiert ist oder nicht.

Allerbesten Dank für jeden Tip, denn das Problem nervt wirklich!

jotka

-------------------------------

/************ Datei index.php ************/
Code:
<?php
	function addSid() {
		if(!ini_get('session.use_trans_sid')) echo '?', SID;
	}

	include('lang.inc');

	ini_set('session.use_cookies', '0');
	session_start();
	$_SESSION['lang'] = 'en';  // ***** Setzen der Sessionvar. *****
	session_write_close();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<frameset rows="60,*" frameborder="0" framespacing="0" border="0">
	<frame src="header.php<?php addSid(); ?>" name="Header" />
	<frameset cols="160,*" >
		<frame src="menu.php<?php addSid(); ?>" name="Menu" />
		<frame name="Main" />
	</frameset>
	<noframes><?php echo $lang['noFrames']; ?></noframes>
</frameset>
</html>
/************ Datei header.php ************/
Code:
<?php
	ini_set('session.use_cookies', '0');
	session_start();

	//include('lang.inc'); // ***** problematische Zeile! *****
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
	<h2>Header; Language: <?php echo $_SESSION['lang']; ?></h2>
</body>
</html>
/************ Datei menu.php ************/
Code:
<?php
	ini_set('session.use_cookies', '0');
	session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
	<div>$_SESSION['lang']:<br />
		// ***** Lesen der Sessionvar. *****
		<?php var_dump($_SESSION['lang']); ?>
	</div>
</body>
</html>
/************ Datei lang.inc ************/
Code:
<?php
	$lang  = array();
	$lang['lang']     = 'en';
	$lang['noFrames'] = 'Your browser must support frames!';
?>
/************ Meine Testergebnisse ************/

Unter 4.3.1, 4.3.4, sowie unter 4.3.3 mit auskommentiertem include() steht im zweiten Frame:
$_SESSION['lang']:
string(2) "en"
Unter 4.3.3 mit aktivem include():
$_SESSION['lang']:
array(2) {
["lang"]=> string(2) "en"
["noFrames"]=> string(33) "Your browser must support frames!"
}
In letzterem Fall enthält die Session also fälschlich nicht den hineingeschriebenen Wert, sondern den Wert der Variable $lang aus dem ersten Frame!

Geändert von jotka (07.03.2005 um 00:23:16 Uhr)
Mit Zitat antworten
  #2  
Alt 06.03.2005, 22:10:59
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Problem mit $_SESSION und Frames

ist bei deiner 4.3.3 version in der php.ini register_globals auf off? wenn nicht, dann ändere das mal auf off.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #3  
Alt 06.03.2005, 23:35:06
jotka jotka ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Leonberg, DE 71229
Beiträge: 8
AW: Problem mit $_SESSION und Frames

Zitat:
Zitat von |Coding
ist bei deiner 4.3.3 version in der php.ini register_globals auf off?
Ja, das war der Grund. Leider habe ich auf die 4.3.3-ini keinen Zugriff; aber der umgekehrte Versuch (On-schalten in der 4.3.1) lieferte denselben Fehler.

Gibt's für dieses Verhalten irgendwo eine Erklärung? Logisch erscheint mir das nämlich nicht, denn egal ob register_globals an ist, sollte doch $_SESSION nur das enthalten, was wirklich in der Session ist...

Bin mal gespannt, ob ich den 4.3.3-Admin zum Ändern überreden kann. Wenn nicht, bleibt mir wohl nur, die Sessionvariable im ganzen Projekt umzubenennen. Seufz!
Oder gibt es vielleicht noch eine andere Methode? ($HTTP_SESSION_VARS statt $_SESSION zu verwenden bringt nichts, das habe ich schon ausprobiert.)

Tausend Dank! und Gruß

jotka

Geändert von jotka (06.03.2005 um 23:42:24 Uhr)
Mit Zitat antworten
  #4  
Alt 06.03.2005, 23:38:53
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Problem mit $_SESSION und Frames

du solltest register_globals auf keinen fall auf on stellen, das ist sicherheitstechnisch ein problem.

das problem besteht, also auch wenn register_globals auf off steht, habe ich dich da richtig verstanden?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #5  
Alt 06.03.2005, 23:45:35
jotka jotka ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Leonberg, DE 71229
Beiträge: 8
AW: Problem mit $_SESSION und Frames

Zitat:
Zitat von |Coding
du solltest register_globals auf keinen fall auf on stellen, das ist sicherheitstechnisch ein problem.
Ja, ist mir bekannt, deshalb ist es dort, worauf ich Zugriff habe, auch off. Das Umstellen in der 4.3.1 war nur vorübergehend (und offline :-), um herauszufinden, ob's daran lag.

Zitat:
Zitat von |Coding
das problem besteht, also auch wenn register_globals auf off steht, habe ich dich da richtig verstanden?
Nein: In den Off-Versionen funktioniert's bestens.

Geändert von jotka (06.03.2005 um 23:50:00 Uhr)
Mit Zitat antworten
  #6  
Alt 06.03.2005, 23:56:45
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Problem mit $_SESSION und Frames

sorry jetzt hab ich den faden verloren...
auf was steht register_globals denn dort, wo du die sessions nutzt (online)?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #7  
Alt 07.03.2005, 00:21:12
jotka jotka ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Leonberg, DE 71229
Beiträge: 8
AW: Problem mit $_SESSION und Frames

Offline (4.3.1): Normalerweise Off, nur zum Testen gerade eben mal On. --> funktioniert nur erwartungsgemäß, wenn Off.

Online I (4.3.3): On --> funktioniert nicht.
Online II (4.3.4): Off --> funktioniert.
Mit Zitat antworten
  #8  
Alt 07.03.2005, 00:26:20
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Problem mit $_SESSION und Frames

ok, verstanden.
nötige deinen admin mal dazu, das er register_globals auf off setzt, oder wenn du .htaccess files nutzen kannst dann regel es doch so:

leg eine .htaccess mit folgendem inhalt in dein root directory:

php_flag register_globals off

dann brauchst du nicht deinen admin, anbetteln :-)
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #9  
Alt 08.03.2005, 22:36:31
jotka jotka ist offline
Anfänger
 
Registriert seit: Nov 2003
Ort: Leonberg, DE 71229
Beiträge: 8
AW: Problem mit $_SESSION und Frames

Hallo |Coding,

das mit dem .htaccess hat leider (noch?) nicht geklappt: auch da scheint sich der Server zu sperren. Ich versuche weiterhin, den Admin zu Änderungen zu animieren oder sonst eine Lösung zu finden.

Jedenfalls nochmal ganz herzlichen Dank!, der Tip mit dem register_globals war goldrichtig.

Gruß

jotka
Mit Zitat antworten
  #10  
Alt 08.03.2005, 22:43:43
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Problem mit $_SESSION und Frames

ich an deiner stelle würde dem admin mal in den popo klicken, kann doch nicht angehen das er es den kunden zumutet mit register_globals on zuarbeiten. ich hoffe du zahlst dafür nicht auch noch geld...
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
post werte an frames weitergeben Stifler HTML, CSS und JavaScript Help! 3 18.12.2004 18:57:20
sid session ids über Frames? t1m0n PHP für Fortgeschrittene und Experten 0 09.05.2004 11:13:10
mysql und php problem schmidt PHP für Fortgeschrittene und Experten 9 31.10.2003 18:05:13
Datei x in Frame y laden / 2 Frames aktualisieren MarkusZ01 PHP für Fortgeschrittene und Experten 6 28.04.2003 19:16:21
SSL Problem im Internet Explorer, need help! Gladder PHP für Fortgeschrittene und Experten 6 02.09.2002 22:21:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:37:16 Uhr.


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


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt