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 Thema bewerten
  #1 (permalink)  
Alt 17-04-2007, 10:31
bajana
 Junior Member
Links : Onlinestatus : bajana ist offline
Registriert seit: Nov 2005
Beiträge: 59
bajana ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem mit Sessionvariablen

Ich habe ein Problem mit einer Sessionvariablen:
Die Session wird gestartet, die Variable gesetzt. Überprüfe ich den Wert nach dem Setzen, so steht der korrekte Wert drin.

PHP-Code:
<? session_start();
if(
$_GET['view']>0) {
    
$_SESSION['archiv_org_id'] = $_GET['view'];
    }
weiter im Code, kommt der Aufruf der Datei c_grafik.php, direkt vor dem Aufruf enthält die Variable noch den richtigen Wert:

PHP-Code:
if($_SESSION['archiv_org_id']>0) {
?>
<img src="c_grafik.php?graph=31" alt="Schaubild"> 
in c_grafik.php sollte an dieser Stelle dann der Wert zum Einsatz kommen:

PHP-Code:
elseif ($graph==31) {
    
$caWhere "FROM archiv_orginaldaten_values WHERE archivId = " $_SESSION['archiv_org_id'];

Aber bereits in der ersten Zeile von c_grafik.php ist die Variable leer. Andere Sessionvariablen, die ebenfalls in c_grafik verwendet werden, bleiben aber korrekt gesetzt.

Und weil das noch nicht seltsam genug ist: Dies sind Ausschnitte aus der Version 1.1 meines Programms, der genau selbe Code kommt in der Version 1.07 vor. Dort funktioniert er. Rufe ich in meinem Browser (egal ob firefox oder Internet explorer) zunächst die Programmstelle in der Version 1.07 auf, so funktioniert es anschließend auch in der 1.1

Ich bin ziemlich ratlos, woran das liegen könnte. Bin für jeden Tipp dankbar.
Mit Zitat antworten
  #2 (permalink)  
Alt 17-04-2007, 10:41
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Du includest c_grafik.php nicht sondern schreibst ein Imagetag. Dafür sendet der Browser einen zweiten, separaten Request, der zwar den Sessioncookie enthält, aber vermutlich fehlt ein session_start()!
Mit Zitat antworten
  #3 (permalink)  
Alt 17-04-2007, 10:48
bajana
 Junior Member
Links : Onlinestatus : bajana ist offline
Registriert seit: Nov 2005
Beiträge: 59
bajana ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe eine Protokolldatei, in die ich Ausgaben schreiben kann:

PHP-Code:
msgprot("Archiv_org_id:  ".$_SESSION['archiv_org_id']); 
Dort steht dann z.B. "Archiv_org_id: 5" oder im Fall, dass sie leer ist dann "Archiv_org_id: "

Allerdings hast Du recht, ich könnte auch noch den Debugger vom Zendtstudio anwerfen, habe ich noch nicht gemacht, weil ich in der Regel mit der Protokolldatei besser zurecht komme.

Aber Fakt bleibt rufe ich zunächst in der 1.1 diese Programmstelle auf, so bekomme ich kein Schaubild (c_grafik zeichnet im folgenden ein Schaubild), rufe ich zunächst in der 1.07 das Schaubild auf, so funktioniert es danach auch in der 1.1 und zwar für beliebige viele verschiedene Schaubilder.
Mit Zitat antworten
  #4 (permalink)  
Alt 17-04-2007, 10:54
bajana
 Junior Member
Links : Onlinestatus : bajana ist offline
Registriert seit: Nov 2005
Beiträge: 59
bajana ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von onemorenerd
Du includest c_grafik.php nicht sondern schreibst ein Imagetag. Dafür sendet der Browser einen zweiten, separaten Request, der zwar den Sessioncookie enthält, aber vermutlich fehlt ein session_start()!
Habe es nun mit einem session_start() in c_grafik.php versucht, das bringt leider auch keinen Erfolg.
Weiterhin bleibt dann die Frage, warum andere Sessionvariablen auf die selbe Art funktionieren?
Mit Zitat antworten
  #5 (permalink)  
Alt 17-04-2007, 12:36
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

In c_grafik.php hast du also nachdem du als erste Zeile session_start() geschrieben hast keinen Inhalt der $_SESSION (var_dump($_SESSION) ? Bist du sicher, dass deine PHP Konf Session Cookies zulässt ? Hast du es schonmal probiert die Session ID im Link zu c_grafik.php anzugeben ?
Desweiteren solltest du saubererweise $_GET['graph'] anstattt $graph verwenden.

Gruss

tobi
¨
p.s. error_reporting() voll aufgedreht und keine Fehlermeldungen ?
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #6 (permalink)  
Alt 17-04-2007, 15:31
bajana
 Junior Member
Links : Onlinestatus : bajana ist offline
Registriert seit: Nov 2005
Beiträge: 59
bajana ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So, nun ists gelöst. es wurde kurz nach dem ersten session_start() über ein require noch einemal session_start() aufgerufen.

Etwas seltsam finde ich weiterhin, dass es hier nun geholfen hat die alte Version aufzurufen und danach die neue und dann der Fehler verschwunden war.

Vielen Dank für die Antworten.
Mit Zitat antworten
  #7 (permalink)  
Alt 17-04-2007, 15:41
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
So, nun ists gelöst. es wurde kurz nach dem ersten session_start() über ein require noch einemal session_start() aufgeruf
und das hätte dir ein
PHP-Code:
error_reporting(E_ALL); 
als Warning um die Ohren gehauen. Also immer das error_reporting() aufdrehen, wie es auch in unseren Regeln steht.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
Antwort

Lesezeichen


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

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 06:43 Uhr.