php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 31 Stimmen, 4,74 durchschnittlich.
  #1 (permalink)  
Alt 12-11-2012, 07:46
LotharK
 Registrierter Benutzer
Links : Onlinestatus : LotharK ist offline
Registriert seit: Nov 2012
Beiträge: 8
LotharK befindet sich auf einem aufstrebenden Ast
Standard IE-Problem mit Sessions

Hallo,

ich versuche vergeblich, folgenden PHP-Code zum Laufen zu bringen.

(Vorab möchte ich mitteilen, dass ich ein PHP-Anfänger bin und auch schon X Forenbeiträge zu dem Thema gelesen habe, welche mich alle nicht weiter brachten)

Seite 1
PHP-Code:
<?php
session_start
();
error_reporting(E_ALL);
?>
<html>
<head>
<title>Seite1</title>
</head>
<BODY>
<?php
echo 'Willkommen auf Seite 1';
$_SESSION['Index'] = '12345ABC';
echo 
'<br><a href="2.php?' SID '">Seite mit Parameterübergabe</a>';
echo 
'<br><a href="2.php">Seite ohne Parameterübergabe</a><br>';
?>
</BODY>
</HTML>
Seite2:

PHP-Code:
<?php
session_start
();
error_reporting(E_ALL);
?>
<html>
<head>
<title>Seite2</title>
</head>

<BODY>
<?php
echo 'Willkommen auf Seite 2<br>';
echo 
$_SESSION['Index']."<br>";
echo 
'<br><a href="1.php">Zum Anfang</a>';
?>
</BODY>
</HTML>
Der Inhalt von Index kommt im Netzt mit dem IE nicht an. Wenn ich es lokal teste, funktioniert es im IE und mit Firefox. Im Netzt funktioniert es nur mit FireFox.
Sicher fehlt mir nur eine klitzekleine Anweisung.
Ich vermute, Script 1 will im IE einen Cookie und erwartet in Script 2 einen Cookie.
Ich hoffe, es kann mir jemand helfen.
Danke, LotharK
Mit Zitat antworten
  #2 (permalink)  
Alt 12-11-2012, 09:17
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

SESSION Seite mit Parameterübergabe - PHP Forum: phpforum.de
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 12-11-2012, 11:00
LotharK
 Registrierter Benutzer
Links : Onlinestatus : LotharK ist offline
Registriert seit: Nov 2012
Beiträge: 8
LotharK befindet sich auf einem aufstrebenden Ast
Standard :-(

Das finde ich gar nicht lustig...
Mit Zitat antworten
  #4 (permalink)  
Alt 12-11-2012, 11:11
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ich auch nicht!
Denn auch hier sind Crosspostings unerwünscht.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #5 (permalink)  
Alt 12-11-2012, 11:42
LotharK
 Registrierter Benutzer
Links : Onlinestatus : LotharK ist offline
Registriert seit: Nov 2012
Beiträge: 8
LotharK befindet sich auf einem aufstrebenden Ast
Standard Doppelposting

Was soll ich tun, wenn mir in einem Forum nicht geholfen wird. Komisch nur, dass alle bis jetzt im PHP-Forum Oberlehrer sein wollen, aber keiner kann helfen.
Es wäre doch fairer zu sagen, gehe in ein anderes Forum, wir wissen es nicht. Nein, dafür spielt sich jeder als oberschlauer auf. Wem nützt das?
Mit Zitat antworten
  #6 (permalink)  
Alt 12-11-2012, 12:06
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
dass alle bis jetzt im PHP-Forum Oberlehrer sein wollen
Hmmm...
Lehrer evtl. schon. Aber warum Oberlehrer?
Möchtest du denn lernen, oder eher nicht?

Falls du PHP nicht lernen möchtest kann ein jeder Lehrer natürlich nur versagen, egal ob Ober oder Unter.

Vergleich:
Möchte man nur einen Schrank, dann geht man einfach zum Schreiner und liefert Euronen ab.
Möchte man aber lernen wie man einen Schrank baut, macht man eine Ausbildung zum Schreiner und kann dabei sogar noch Euronen abstauben. Wenn man es klug macht, dann auf Dauer sogar reichlich davon.
__________________
Wir werden alle sterben

Geändert von combie (12-11-2012 um 12:11 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 12-11-2012, 12:23
LotharK
 Registrierter Benutzer
Links : Onlinestatus : LotharK ist offline
Registriert seit: Nov 2012
Beiträge: 8
LotharK befindet sich auf einem aufstrebenden Ast
Standard

Wie alt bist Du? Ehrlich jetzt mal.
Mit Zitat antworten
  #8 (permalink)  
Alt 12-11-2012, 16:18
eagle275
 Registrierter Benutzer
Links : Onlinestatus : eagle275 ist offline
Registriert seit: Jun 2010
Beiträge: 403
eagle275 befindet sich auf einem aufstrebenden Ast
Standard

alter hat damit nix zu tun ..

geh bitte logisch an dein Problem heran .

wenn du einen Fehler bekommst, steht als nächstes Debugging auf dem Plan - also lass dir den "Kram" ausgeben

was kommt denn in deinem Browser heraus, wenn du Script 1 mal wie folgt überarbeitest

PHP-Code:
<?php
session_start
();
error_reporting(E_ALL);
?>
<html>
<head>
<title>Seite1</title>
</head>
<BODY>
<?php
echo 'Willkommen auf Seite 1';
$_SESSION['Index'] = '12345ABC';
echo 
'<pre>';
var_dump($_SESSION);
echo 
'</pre>';
echo 
'<br><a href="2.php?' SID '">Seite mit Parameterübergabe</a>';
echo 
'<br><a href="2.php">Seite ohne Parameterübergabe</a><br>';
?>
</BODY>
</HTML>
und .... mal Klartext - sind beide PHP-Scripte auf dem gleichen Server ? / gleiche (Sub)Domain bzw vhost ?

Ich hoffe du weißt, dass im Falle der SID als URL-Parameter du diese im 2ten Script VOR session_start() übernehmen musst, sonst generiert PHP mit Pech wieder eine zufällige Session-ID
__________________

Wer LESEN kann, ist klar im Vorteil!

Geändert von eagle275 (12-11-2012 um 16:20 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 12-11-2012, 20:44
LotharK
 Registrierter Benutzer
Links : Onlinestatus : LotharK ist offline
Registriert seit: Nov 2012
Beiträge: 8
LotharK befindet sich auf einem aufstrebenden Ast
Standard

Hallo eagle275,

danke für Deine Hilfe. Wenn ich das Script, so wie von Dir erweitert, laufen lasse, erscheint folgende Ausgabe:

PHP-Code:
array(1) {   ["Index"]=>   string(8"12345ABC" 
Ich denke, das ist auch logisch, da ja Firefox überall und der IE lokal die Session ordentlich wiedergeben.

Zitat:
Ich hoffe du weißt, dass im Falle der SID als URL-Parameter du diese im 2ten Script VOR session_start() übernehmen musst, sonst generiert PHP mit Pech wieder eine zufällige Session-ID
Nein, das wußte ich nicht. Ich dachte SESSION_Start muß als erstes stehen. (Wurde hier immer wieder so dargestellt)

Auch habe ich schon versucht, Cookies zuzulassen und auch zu verhindern.
Natürlich dann mal über Cookie und mal über SID.

PHP-Code:
ini_set('session.use_cookies',1);
ini_set('session.use_only_cookies',1);
ini_set('session.use_trans_sid',0);
session_start(); 
Das mit dem - vor session_Start verstehe ich, weiß aber nicht, ob ich das richtig umsetze. In meinem Script gibt es ja nur 2 wichtige PHP-Befehle.

Muss das so aussehen?

PHP-Code:
<?php
echo $_SESSION['Index'];
session_start();
error_reporting(E_ALL);
?>
<html>
<head>
<title>Seite2</title>
</head>

<BODY>
<?php
echo 'Willkommen auf Seite 2<br>';

echo 
'<br><a href="1.php">Zum Anfang</a>';
?>
</BODY>
</HTML>
Wenn ich vor session_start die Sessionparameter schon habe, wieso baruche ich dann noch session_start? (In meinem konkreten Fall?)

Wenn ich es so mache, wird das

PHP-Code:
echo $_SESSION['Index']; 
ignoriert. Schreibe ich es wieder unten hin, kommt: Undefined index.

Ich habe nun schon so ziemlich alles ausprobiert, was hier in den Grundlagen unter Session zu finden ist.
Also, ich weiß wirklich nicht mehr was ich noch machen kann.


MfG Lothar
Mit Zitat antworten
  #10 (permalink)  
Alt 13-11-2012, 08:10
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Ich hoffe du weißt, dass im Falle der SID als URL-Parameter du diese im 2ten Script VOR session_start() übernehmen musst,
Unsinn!
Blanker Unsinn.

Zitat:
sonst generiert PHP mit Pech wieder eine zufällige Session-ID
Ja und?
Macht die Sessionverwaltung doch sowieso, wenn sie keine Session ID findet.
Muss einen also nicht wundern.


Zitat:
Ich habe nun schon so ziemlich alles ausprobiert, was hier in den Grundlagen unter Session zu finden ist.
Ausprobieren hilft nicht viel...
Ist ähnlich sinnvoll wie im Nebel stochern.
Befasse dich bitte mit den Grundlagen.
Lese die Http Spezifikation.
Begreife wie die Sessionverwaltung funktioniert.
Wie willst du einen Fehler finden, wenn du die dahinter stehende Technik ausblendest?

Zitat:
Wie alt bist Du? Ehrlich jetzt mal.
Zumindest so alt, dass ich die Zeit hatte, das PHP Handbuch und die HTTP Spezifikation zu lesen und zu verstehen.
In dem Punkt scheinst du noch viel jünger zu sein.


Zitat:
Also, ich weiß wirklich nicht mehr was ich noch machen kann.
Lass dir die gesendeten HTTP Header anzeigen.
Aufpassen: HTTP Header! Nicht HTML Head.
Liefert der Server das Cookie an den Browser?
Liefert der Browser das Cookie an den Server?
Wechselt die Session Id dabei?



Nachtrag:
Zitat:
PHP-Code:
<?php
session_start
();
error_reporting(E_ALL);
?>

Es hat so auszusehen:
PHP-Code:
error_reporting( -);
ini_set('display_errors'TRUE);

// und dann erst:
session_start(); 
__________________
Wir werden alle sterben

Geändert von combie (13-11-2012 um 08:34 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 13-11-2012, 09:01
eagle275
 Registrierter Benutzer
Links : Onlinestatus : eagle275 ist offline
Registriert seit: Jun 2010
Beiträge: 403
eagle275 befindet sich auf einem aufstrebenden Ast
Standard

combie - ich will mich nicht mit dir streiten .. aber wenn er die Session ID nur per Get-Parameter weitergibt , dann muss er die vorher setzen

PHP-Code:
<?php
session_id
($_GET['sessionid']); // oder welchen Parameter du auch immer verwendest
session_start();
- und das ist aus dem php manual

allerdings hast du recht, dass er VOR session_start() mal error-reporting starten sollte und auch erzwingen muss, dass die Fehler wirklich angezeigt werden, um herauszufinden, ob der Fehler DORT schon liegt - vielleicht weil eine BOM im php-script schon den http-body einleitet
__________________

Wer LESEN kann, ist klar im Vorteil!
Mit Zitat antworten
  #12 (permalink)  
Alt 13-11-2012, 09:05
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.603
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
combie - ich will mich nicht mit dir streiten .. aber wenn er die Session ID nur per Get-Parameter weitergibt , dann muss er die vorher setzen

PHP-Code:
<?php
session_id
($_GET['sessionid']); // oder welchen Parameter du auch immer verwendest
session_start();
- und das ist aus dem php manual
Das ist Quatsch. Erstens ist das nicht aus dem Manual, sondern aus einem Kommentar dazu, und zweitens solltest du nicht nur die Hälfte lesen, weil der eigentliche Zweck dieses Codes was anderes ist.

PHP kümmert sich selber um die Session-Verwaltung inkl. Weitergabe der Session-ID. Du als Programmierer musst da gar nix machen! session_start() alleine reicht vollkommen.
Mit Zitat antworten
  #13 (permalink)  
Alt 13-11-2012, 09:19
eagle275
 Registrierter Benutzer
Links : Onlinestatus : eagle275 ist offline
Registriert seit: Jun 2010
Beiträge: 403
eagle275 befindet sich auf einem aufstrebenden Ast
Standard

bleibt das Problem, warum es bei ihm nicht will -

ich bin ja der Meinung, wenn es an BOM oder so liegt, müsste der Code in JEDEM Browser sauer aufstoßen
__________________

Wer LESEN kann, ist klar im Vorteil!
Mit Zitat antworten
  #14 (permalink)  
Alt 13-11-2012, 12:05
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Bei den Fehlern, die da rein gebaut waren, kann es auch zu Anfang nicht mit jedem Browser funktioniert haben. Und wenn, dann war das funktionierende zufällig aus den Cache.

Erst wenn man die Header gesehen hat, kann man sagen woran es liegt.


Meine Vermutung:
Trotz offensichtlicher laxer Sicherheitseinstellungen akzeptiert der IE die Cookies nicht.

Vermutliche Ursache: Der Server sendet keine P3P Header

Denn:
Hängt der Browser, der IE, in einem Windows Firmennetzwerk mit PDC, übernimmt er die von PDC vorgegebenen Sicherheitseinstellungen. Und die können eben den Empfang von (gültigen) P3P Headern vorschreiben.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #15 (permalink)  
Alt 13-11-2012, 12:33
LotharK
 Registrierter Benutzer
Links : Onlinestatus : LotharK ist offline
Registriert seit: Nov 2012
Beiträge: 8
LotharK befindet sich auf einem aufstrebenden Ast
Standard E_all

Hm,

hier stand:

PHP: error_reporting - Manual

On a shared debugging and production server it is convenient to use
<?php error_reporting(E_ALL); ?>
for debugging.

This will not help in case of parsing errors, so make sure you enable at least E_PARSE in your php.ini. Parse errors should not exist in production scripts.

Still, sometimes your script will not get executed even though no parse error is displayed (just a blank page/ no output at all). As far as I know this only happens when you redeclare a user function or class.

eg.
<?php
error_reporting(E_ALL);

function a(){}
function a(){}
?>
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
problem mit sessions joextra PHP Developer Forum 5 14-11-2007 18:18
Problem mit Sessions DaBe1812 PHP Developer Forum 17 08-09-2006 11:51
Problem mit sessions fraeyodm PHP Developer Forum 6 05-10-2005 11:15
Problem mit Sessions Pascal P. PHP Developer Forum 3 06-07-2004 18:34
Problem mit sessions radix PHP Developer Forum 1 17-12-2003 18:43

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:29 Uhr.