php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.09.2004, 10:14  
Gast
 
Beiträge: n/a
Standard Session Probleme

Hallo,

Hier ein Code-Ausschnit:

index.php
Code:
session_start();
session_register("error");
if(isset($_SESSION['error']))
{
echo $_SESSION['error']; 
$_SESSION['error'] = "";
}

...

$_SESSION['error'] = "Fehlermeldung...";
Ich starte eine session, registriere error und überprüfe immer ob die gesetzt ist, wenn ja, dann soll er mir die Fehlermeldung anzeigen, wenn nein, dann halt eben nicht.
Weiter unten in der index.php kann es sein, dass ich verschiedene Fehler mitlogge. Die will ich beim nächsten Aufruf einfach anzeigen, zwecks debugging und später in eine log-Datei schreiben (das kann ich ja dann direkt machen.

Das Problem: Er gibt mir den Wert, den ich reingeschrieben habe (in dem Beispiel "Fehlermeldung...") nicht aus (auch wenn ich den echo ohne die isset-Überprüfung mache).

Ich habe manuell in der session-datei nachgeschaut. Da steht drin, dass ein Wert gesetzt ist.

Was mache ich falsch?
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.09.2004, 10:28  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
session_start
(); 
$_SESSION['error']="";
// wenn $_SESSION['error'] nicht leer ist
 
if(!empty($_SESSION['error'])) 

  
// fehlermeldung ausgeben
 
echo $_SESSION['error']; 
  
// variable zurücksetzen
 
$_SESSION['error'] = "";

 
# [...]
$_SESSION['error'] = "Fehlermeldung..."
 
# [...]
?>
isset prüft ob eine variable gesetzt wurde.. es wäre sinniger empty zu nutzen.
 
Alt 08.09.2004, 10:31  
Gast
 
Beiträge: n/a
Standard

Deswegen gibt er mir trotzdem net das aus, was ich will... das mit isset ist erstmal nebensächlich. Hab ja gesagt, dass er auch ohne isset nichts ausgibt.
 
Alt 08.09.2004, 10:33  
Gast
 
Beiträge: n/a
Standard

ich weiss ja net wann und wie du die fehlermeldungen setzt.
anscheinend liegt das problem da..
 
Alt 08.09.2004, 10:43  
Gast
 
Beiträge: n/a
Standard

Ich setz am unteren ende meiner index.php die Fehlermeldung. (Ich habe auch überprüft, dass die Meldung WIRKLICH in der session-Datei drinsteht). Bei dem nächsten aufruf der index.php soll die Meldung ausgegeben werden und dann gelöscht. (Wohlgemerkt: Die Session-ID ist gleich geblieben, habe Kontrolle durch ausgabe gemacht).

Wieso kann ich die Variable setzen, aber nicht auslesen???
 
Alt 08.09.2004, 10:47  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
session_start
(); 
$_SESSION['error']="";
[...]
?>
man bin ich blind *gg* die variable wird ja bei jedem seiten aufruf zurüchgesetzt *lol*
PHP-Code:
<?php
session_start
();
if(!isset(
$_SESSION['error'])
{
  
// wenn die variable nicht gesetzt wurde
  
$_SESSION['error']="";
}
// wenn $_SESSION['error'] nicht leer ist
if(!empty($_SESSION['error'])) 

  
// fehlermeldung ausgeben 
echo $_SESSION['error']; 
  
// variable zurücksetzen 
$_SESSION['error'] = ""

# [...] 
$_SESSION['error'] = "Fehlermeldung..."
# [...] 
?>
 
Alt 08.09.2004, 10:51  
Gast
 
Beiträge: n/a
Standard

Wir reden immernoch aneinander vorbei..

PHP-Code:
<?php
session_start
();
session_register("error"); #Variable registrieren (braucht man das immer? ich denke ja
if(!empty($_SESSION['error'])) # ja, empty macht mehr sinn

echo 
$_SESSION['error']; # Hier kommt immer ein leerer String heraus, ob das nun jetzt innerhalb der if-Überprüfung ist oder nicht
$_SESSION['error'] = ""# Natürlich muss ich nach der Ausgabe die Meldung zurücksetzen, aber nur nach einer Ausgabe


#... 

$_SESSION['error'] = "Fehlermeldung..."# Irgendwann will ich mir selber eine bemerkung ausgeben, die beim nächsten seitenaufruf angezeigt wird
?>
[/php]
 
Alt 08.09.2004, 10:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
session_register("error"); #Variable registrieren (braucht man das immer? ich denke ja


ich denke NEIN

Achtung

Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert, müssen Sie stattdessen das Array $_SESSION verwenden, weil $_SESSION-Einträge automatisch registriert werden. Wenn Sie in Ihrem Script session_register() verwenden, funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.

register_globals: Wichtiger Hinweis: Seit PHP 4.2.0 ist die Standardeinsteillung für die Konfigurationsoption register_globals off. Die PHP Community ermutigt Alle, sich nicht auf diese Option zu verlassen und Alternativen wie superglobals zu verwenden.

http://de3.php.net/manual/de/functio...n-register.php
 
Alt 08.09.2004, 10:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
Achtung
Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert, müssen Sie stattdessen das Array $_SESSION verwenden, weil $_SESSION-Einträge automatisch registriert werden. Wenn Sie in Ihrem Script session_register() verwenden, funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.


register_globals: Wichtiger Hinweis: Seit PHP 4.2.0 ist die Standardeinsteillung für die Konfigurationsoption register_globals off. Die PHP Community ermutigt Alle, sich nicht auf diese Option zu verlassen und Alternativen wie superglobals zu verwenden.
http://de3.php.net/manual/de/functio...n-register.php

hast du es denn ausprobiert?
 
Alt 08.09.2004, 11:00  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php 
session_start
(); 

if(!empty(
$_SESSION['error'])) 

echo 
$_SESSION['error']; 
$_SESSION['error'] = ""


#... 

$_SESSION['error'] = "Fehlermeldung...";

?>
Vor der session darf keine ausgabe sein ... nur so als erinnerung falls doch ...

so geht es bei mir !
 
 


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 Probleme webdino PHP-Fortgeschrittene 8 26.06.2008 18:55
Session & Cookie Probleme im IE madSoul PHP Tipps 2007 9 28.03.2007 14:45
Probleme mit Session und IE dethlef14 PHP Tipps 2007 3 18.11.2005 18:06
Session Probleme PHP Tipps 2007 2 02.11.2005 12:45
[Erledigt] Probleme mit Session bei Verlinkung per target=_blank!!! 18inch PHP Tipps 2005-2 4 13.10.2005 11:22
Session abschaltbar?? Probleme mit Objekten in Session! becks123 PHP-Fortgeschrittene 3 19.09.2005 15:47
Immer noch Probleme mit Session PHP Tipps 2005-2 10 13.09.2005 12:25
Probleme mit Session PHP Tipps 2005-2 5 07.06.2005 18:14
Schon wieder session Probleme Ypsillon PHP Tipps 2004-2 6 03.12.2004 01:45
Probleme mit Session und PHP Download gleichzeitig PHP-Fortgeschrittene 1 01.11.2004 11:40
Probleme mit Session ID seb-web PHP Tipps 2004 0 11.09.2004 13:55
Session Probleme, ich kappier nix mehr :-( PHP-Fortgeschrittene 11 05.09.2004 13:16
Probleme mit Session PHP Tipps 2004 1 26.08.2004 17:34
probleme mit session PHP Tipps 2004 25 10.07.2004 13:45
Probleme mit Session ohne Cookies PHP Tipps 2004 6 06.06.2004 15:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session probleme

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:51 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.