php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.11.2007, 19:43  
Neuer Benutzer
 
Registriert seit: 29.09.2007
Beiträge: 12
joghurt
Standard 1000 und 1 mal Session...

Hallo noch alle da?

Ich habe verschiedene Seiten.
Über include werden andere Seiten aufgerufen.
Jetzt habe ich Probleme, dass Session schon gestartet sind und ein nächstes Includ wieder session_start(); aufrufen will.

Jetzt habe ich mir gedacht schreibe ich in die Includs ein kleines Script.
Aber es geht nicht...

PHP-Code:

if(session_started()){
    echo 
'';
}else{
    
session_start();

z.B.
PHP-Code:
Fatal errorUnknown function: session_started() in C:DatenWWW[url]www.sososchon.dedreamcheckLogin.inc.php[/urlon line 4 
Ich trinke lieber Kefir
__________________
Kurt Beck...

Joghurt ist ein durch Milchsäurebakterien hergestelltes Nahrungsmittel aus verdickter Milch.
Es ist nicht mit php verwandt und eventuelle Ähnlichkeiten sind rein zufällig.
joghurt ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.11.2007, 19:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Natürlich funktioniert das nicht. Vielleicht bräuchtest Du mal wieder ne neue Signatur:
Zitat:
Selbst ausgedachte, undefinierte Funktionen aufzurufen ergibt einen Programmfehler.
Lager die Session-Funktionalität aus (sowieso das einzig sinnvolle) und binde sie mit require_once () ein. Ansonsten bleibt zu sagen: Rtfm!
nikosch ist offline  
Alt 01.11.2007, 19:48  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
Jetzt habe ich Probleme
Und wo ist das Problem wenn session_start() in den Dateien drin steht ?
Da gibt es eigentlich keine Probleme, und ob die Session aktiv ist oder nicht kann man ja mit print_r($_SESSION) abfragen ...
 
Alt 01.11.2007, 19:53  
Neuer Benutzer
 
Registriert seit: 29.09.2007
Beiträge: 12
joghurt
Standard

Hi

Einmal steht "session_start();" in einer Include und einmal steht "session_start();" in einer Include.
Da es die selben STARTS sind, habe ich an eine einfache Lösunge gedacht :P

Ich kann aber nicht einfach "session_start();" aus einer rausnehmen, da auch welche zugreifen, die nur ein Include einbinden und dann gibts wieder einen Fehler.

greetings kurt knurt
__________________
Kurt Beck...

Joghurt ist ein durch Milchsäurebakterien hergestelltes Nahrungsmittel aus verdickter Milch.
Es ist nicht mit php verwandt und eventuelle Ähnlichkeiten sind rein zufällig.
joghurt ist offline  
Alt 01.11.2007, 19:55  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Und jetzt nochmal für linear denkende Wesen bitte...
nikosch ist offline  
Alt 01.11.2007, 21:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Tja dann hast du einen Konzeptfehler, bei dem wir dich hier nicht weiter unterstützen (gut: zumindest ich).
Ein weiterer Aufruf von Session produziert folgenden PHP-Hinweis:
Zitat:
Notice: A session had already been started - ignoring session_start()
Wenn deine Seiten eh schon so kaputtgefixt sind, macht der Hinweis dir ja auch nichts mehr aus oder?
Zergling-new ist offline  
Alt 02.11.2007, 09:08  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 466
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
session_start() ... creates a session or resumes the current one based on the current session id
Seit PHP 4.3.3 wird bei einem weiteren session_start() die E_Notice ausgegeben. Der zweite Aufruf wird einfach ignoriert.

Wenn Du ein Problem damit hast, schreibe er in seine Includes folgendes ...

Code:
@ session_start();
Ich verspreche Dir, dass die Session da ist. JAAAA, das @ unterdrückt den Notice ... der bleibt natürlich präsent (log-Files?), wird aber nicht mehr angezeigt. Nennen wir es Quick'n'Dirty! :P

Warum es Sinn macht? Ganz einfach ...

Je nach Konzept hat der eine seine Includes da liegen ... der nächste dort. Durch doofen Zufall - oder Absicht - ziehe ich mir die komplette Seite vom Server ... damit auch die einzelnen Includes, die natürlich "ausgeführt" übertragen werden. Wenn er seinen Includes - sofern innerhalb der Webstruktur (z. B. kein Root-Server) - noch eine Abfrage auf den Session-Inhalt gibt, passiert nichts "unerwartetes".

Sorry, Leutz ... schlimmer finde ich Leute, die in jeder PHP-Seite die Datenbankzugänge anlegen ... ^^
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline  
Alt 02.11.2007, 11:18  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

[quote="Curanai"]
Zitat:
JAAAA, das @ unterdrückt den Notice ... der bleibt natürlich präsent (log-Files?), wird aber nicht mehr angezeigt.
Nun, ich mag diese unterdrückten Meldungen nicht, es könnte ja auch mal eine andere, wichtigere Meldung sein.
Aber ich denke die Idee mit session_started() war gar nicht so schlecht, nur müsste dann diese Funktion irgendwo definiert werden. Es braucht aber gar keine Funktion, eine Variable reicht:
PHP-Code:
.
if(isset(!
$session_started)){
    
session_start();
    
$session_started true;
}
?> 
__________________
Gruss
L
lazydog ist offline  
Alt 02.11.2007, 12:10  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
Tja dann hast du einen Konzeptfehler
Ich würde mir lieber dazu gedanken machen, als zusätzlich wilde Funktionen zu schreiben oder Fehlemeldungen zu unterdrücken.
 
Alt 02.11.2007, 12:13  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 466
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da wir hier aber von Includes reden, da könnte der Joghurt doch das session_start() jeweils aus dem Include entfernen, sofern die Include-Seite nicht noch selbst eine eigenständige ist, oder? Die Session bleibt ja in dem Bereich gültig ... es ist ja eigentlich nur ausgelagerter Code, der zur Laufzeit ergänzt wird - läuft nicht als eigene Seite.
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline  
 


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
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session abschaltbar?? Probleme mit Objekten in Session! becks123 PHP-Fortgeschrittene 3 19.09.2005 15:47
Bei Session - verfall socke PHP Tipps 2005-2 12 01.09.2005 02:30
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
$_GET und Session PHP Tipps 2004 9 20.06.2004 19:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php a session had already been started, a session had already been started - ignoring session_start()

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