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 ::

Das Zend Framework

Das Zend Framework 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 Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.11.2016, 12:18:08
cabanni cabanni ist offline
Anfänger
 
Registriert seit: Mar 2012
Alter: 53
Beiträge: 25
Session startet nicht

Hallo ich verzweifel gerade am starten einer Session.

In jede Skript das eine eigenständige Seite darstellt wird folgendes Skript das die Reihenfolge vorgibt eingebunden. Die entsprechende sessions.php an oberster Stelle.

PHP-Code:
include_once 'session.php';




include_once 
DOCUM_ROOT."/php/functions.php";
include_once 
DOCUM_ROOT.'/php/classes/MysqlClass.php';
include_once 
DOCUM_ROOT."/php/db.php";




include_once 
DOCUM_ROOT.'/php/classes/sqlLight.php';

include_once 
DOCUM_ROOT.'/php/classes/Security.php';
include_once 
DOCUM_ROOT.'/php/classes/Head.php';

include_once 
DOCUM_ROOT.'/php/classes/Login.php';
include_once 
DOCUM_ROOT.'/php/classes/Comment.php';
include_once 
DOCUM_ROOT.'/php/login_check.php'

Die session.php sieht so aus:

PHP-Code:
 <?php 
//  include_once 'all_include.php';
//  $session = new MySessionHandler();
session_start();
  if(empty(
$_SESSION['user'])){
      
session_destroy();
      
  } else {
      echo 
$_SESSION['user'];
  }

  
?>
Eingeloggt wird sich in die Session so, die Ausgabe und Umleitung des else trifft nicht ein:

PHP-Code:
<?php

include_once 'all_include.php';

if(isset(
$_POST['usr']) and isset($_POST['pwd'])){

    
$usr=$_POST['usr'];
    
$pwd=$_POST['pwd'];
    
$sqlQuerry=sprintf("select name, pass from user where name='%s' and pass='%s'"$usr,$pwd);

    
//$result= mysqli_query($db,$sqlQuerry);
    
$result=$db->query($sqlQuerry);

    if(
$result->num_rows>){
        
$_SESSION['user']=$usr;
    
//    echo "hallo ".$usr;
         
    
}
     else{
               
header('Location: ./index.php?abgewiesen=true');
        echo 
"nicht angemeldet <br>"$db->error;
    }

}
?>

Jede dazustellende Seite wird so konstruiert:
PHP-Code:
<?php
$title 
"";
$discription "";

$urlSlashes explode "/"__FILE__ );
$letzesElement count $urlSlashes );
$fileName $urlSlashes [$letzesElement 1];
include_once 
'pathes.php';
include_once 
'./php/all_include.php';
$head = new Head ();
$head->title $title;
$head->discription $discription;
$head->printHead ();

?>
Es wird zuerst die pathes.php eingebunden die lediglich die Systempfade in Variablen speichert und keine Ausgabe über Echo macht. Dann kommt die all_include.php die als allererste Datei die Session php einbindet und erst dann wird mit der Klasse Head die erste Ausgabe für den html Kopf generiert. Aufgrund der sessions.php müsste bei gestarteter Session zuerst der Benutzername ausgegeben werden, wird's aber leider nicht.

Was läuft falsch?
Mit Zitat antworten
  #2  
Alt 18.11.2016, 13:28:48
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: Session startet nicht

Kann meiner Meinung nach nicht funktionieren, durch die includes ergibt sich ja folgende Reihenfolge (auch wenn du unten startest):

1. session.php
2. all_includes.php
3. was_auch_immer_script.php

und in der ersten Datei wird immer session_destroy aufgerufen, was dazu führt dass du ab da keine Zuweisungen mehr machen kannst:

Zitat:
Um wieder Session-Variablen verwenden zu können, muss session_start() aufgerufen werden.
was dazu führt, dass beim nächsten Aufruf session_destroy ausgeführt wird, ... endlos.
Mit Zitat antworten
  #3  
Alt 18.11.2016, 14:16:20
cabanni cabanni ist offline
Anfänger
 
Registriert seit: Mar 2012
Alter: 53
Beiträge: 25
AW: Session startet nicht

Zitat:
Zitat von chorn Beitrag anzeigen
und in der ersten Datei wird immer session_destroy aufgerufen, was dazu führt dass du ab da keine Zuweisungen mehr machen kannst:



was dazu führt, dass beim nächsten Aufruf session_destroy ausgeführt wird, ... endlos.
session.php an erster Stelle stimmt so nicht, sie wird immer nur durch die all_includes.php eingebunden.

Sry Ich checks immer noch nicht..

Sobald sich eingeloggt wurde sollte $_SESSION['user'] doch zum nächsten Skript weiter gereicht werden, befüllt sein und session_destroy() eigentlich nicht aufgerufen werden ?
Mit Zitat antworten
  #4  
Alt 18.11.2016, 14:27:05
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: Session startet nicht

all_includes wird doch überall eingebunden, in all_include.php wird dann session.php eingebunden, also steht session.php immer ganz oben.
Mit Zitat antworten
  #5  
Alt 18.11.2016, 14:31:02
cabanni cabanni ist offline
Anfänger
 
Registriert seit: Mar 2012
Alter: 53
Beiträge: 25
AW: Session startet nicht

Ja aber was ändert das? Ich hatte es ja nur erwähnt um drauf hinzuweisen das sie nicht extra eingebunden wird. Sie muss ja ganz oben stehen weil session_start() gemäß Manual, nicht mehr funktionieren soll, insofern schon eine Ausgabe durch ein anderes Skript getätigt wurde.
Mit Zitat antworten
  #6  
Alt 18.11.2016, 14:36:19
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: Session startet nicht

Du brauchst doch nur mal zu überlegen was passiert wenn - aus welchem Grund auch immer - die session.php aufgerufen wird: es wird eine Session gestartet, und direkt wieder zerstört.

Zu dem anderen Problem: Gib halt vorher nichts aus. EVA-Prinzip.
Mit Zitat antworten
  #7  
Alt 18.11.2016, 15:02:28
cabanni cabanni ist offline
Anfänger
 
Registriert seit: Mar 2012
Alter: 53
Beiträge: 25
AW: Session startet nicht

Zitat:
Zitat von chorn Beitrag anzeigen
Du brauchst doch nur mal zu überlegen was passiert wenn - aus welchem Grund auch immer - die session.php aufgerufen wird: es wird eine Session gestartet, und direkt wieder zerstört.

Nochmal, sie kann doch nur zerstört werden wenn $_Session['user'] noch nicht gesetzt wurde, nach der Anmeldung ist diese Variable aber gesetzt und befüllt. Ich sehe den Fehler also nicht. Die Datei session.php soll und wird ja von jedem Skript das eine Website dastellen soll aufgerufen.

Wenn der User sich nicht angemeldet hat wird sie zerstörrt, wenn er sich angemeldet hat ist $_SESSION['user] befüllt und wird nicht zerstört.
Mit Zitat antworten
  #8  
Alt 18.11.2016, 15:06:31
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: Session startet nicht

Die Variable kann nicht gesetzt sein: dein Login included auch all_includes, was session included, was session_destroy macht.
Mit Zitat antworten
  #9  
Alt 18.11.2016, 15:19:08
cabanni cabanni ist offline
Anfänger
 
Registriert seit: Mar 2012
Alter: 53
Beiträge: 25
AW: Session startet nicht

Boah, jetzt habe ich es begriffen.

Danke Mann, was lange wird wird endlich gut :D
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
Session nur teilweise zaphod PHP für Fortgeschrittene und Experten 13 10.01.2010 09:29:46
Session wird zu früh beendet ... sk4ter PHP Grundlagen 2 15.11.2007 19:49:57
session variblen gehen verlohren - immer neue session ID xeta PHP Grundlagen 9 03.08.2006 01:50:33
SESSION daten gehen leider nicht verloren! - wennd as fenster geschlossen wird Phil PHP für Fortgeschrittene und Experten 3 31.03.2004 14:08:33
session überprüfen... Xantos PHP für Fortgeschrittene und Experten 4 21.05.2002 11:54:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:38:33 Uhr.


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


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