[PHP]Homepage Login Problem

06/26/2015 14:36 EisTee,#1
#gelöst
06/26/2015 14:41 [SA].P4pa™#2
Quote:
Originally Posted by EisTee, View Post

Also die session wird wieder beendet.
Du beantwortest dir das Problem schon selber :p

Wenn nicht, hier finedest du die Grundlagen:
[Only registered and activated users can see links. Click Here To Register...]
06/26/2015 15:30 ihrnervt#3
Du musst die Session natürlich auch speichern (was Du wohl nicht tust, sonst wärst Du nicht ausgeloggt beim aktualisieren der Seite) und die gespeicherte Session-ID musst Du natürlich auch an jede Unterseite übergeben.
Ansonsten dürfte sich die Session eigentlich nur aus 3 Gründen beenden:

- Die Session ist abgelaufen (weil Zeitliche gültigkeit überschritten)
- Du schließt den Browser (und verlierst damit die Session, weil diese (im Gegensatz zu Cookies) nur temporär gespeichert werden)
- Du beendest die Session über eine Abmeldeseite bei der die Session-ID gelöscht wird.
06/26/2015 15:45 tschulian#4
Zeig uns mal das Script.
Übrigens beim registrieren würd ich erzwingen das groß/kleinschreibung immer auf kleinschreibung gesetzt wird (beim Username)



Ich löse das ganze so:

HTML Code:
public static function login($szUsername, $szPassword)
	{
		
		if(ce::$sql -> numRows("select * from User where UserID='$szUsername' and password='".md5($szPassword)."' ") > 0)
		{
			$_SESSION['username'] = strtolower($szUsername); //fix
			return true;
		}
		else
		return false;
	}


public static function logout()
	{
		if(isset($_SESSION['username']))
		{
			session_destroy();
			return true;
		}
		else return false;
	}
Ich rufe auf meinen Pages nur die Functionen mit den nötigen Parametern auf.
06/26/2015 15:46 Meliō.#5
[Only registered and activated users can see links. Click Here To Register...] Ich denke das bringt dir mehr in dem Fall...

!!KEINE ABWERBUNG!! :-)
06/26/2015 15:58 EisTee,#6
Quote:
Originally Posted by [SA].P4pa™ View Post
Du beantwortest dir das Problem schon selber :p

Wenn nicht, hier finedest du die Grundlagen:
[Only registered and activated users can see links. Click Here To Register...]
Ist leider nicht ganz so hilfreich.

Quote:
Originally Posted by ihrnervt View Post
Du musst die Session natürlich auch speichern (was Du wohl nicht tust, sonst wärst Du nicht ausgeloggt beim aktualisieren der Seite) und die gespeicherte Session-ID musst Du natürlich auch an jede Unterseite übergeben.
Ansonsten dürfte sich die Session eigentlich nur aus 3 Gründen beenden:

- Die Session ist abgelaufen (weil Zeitliche gültigkeit überschritten)
- Du schließt den Browser (und verlierst damit die Session, weil diese (im Gegensatz zu Cookies) nur temporär gespeichert werden)
- Du beendest die Session über eine Abmeldeseite bei der die Session-ID gelöscht wird.
Trift leider auch nicht zu.

_________________
Quote:
Originally Posted by tschulian View Post
Zeig uns mal das Script.
Übrigens beim registrieren würd ich erzwingen das groß/kleinschreibung immer auf kleinschreibung gesetzt wird (beim Username)



Ich löse das ganze so:

HTML Code:
public static function login($szUsername, $szPassword)
	{
		
		if(ce::$sql -> numRows("select * from User where UserID='$szUsername' and password='".md5($szPassword)."' ") > 0)
		{
			$_SESSION['username'] = strtolower($szUsername); //fix
			return true;
		}
		else
		return false;
	}


public static function logout()
	{
		if(isset($_SESSION['username']))
		{
			session_destroy();
			return true;
		}
		else return false;
	}
Ich rufe auf meinen Pages nur die Functionen mit den nötigen Parametern auf.
Welches Skript index.php? Es geht ja allgemein egal was ich nach dem einloggen anklicke oder so man ist dann direkt wieder ausgeloggt oder sei es man akutalliesiert es.

___
Quote:
Originally Posted by Meliō. View Post
[Only registered and activated users can see links. Click Here To Register...] Ich denke das bringt dir mehr in dem Fall...

!!KEINE ABWERBUNG!! :-)
Leider auch nicht.


__

PS: Ich will nochmal erwähnen es ging vorher. Ich weiß nicht was ich verändert habe damit es nicht mehr geht. Oder es liegt halt am webspace da ich gewechselt bin. Aber ich poste gleich mal meine index.php
06/26/2015 16:05 tschulian#7
Zeig uns das wo der Loginvorgang stattfindet.
Darauf achten das du keine sensiblen Daten mitquotest

Quote:
Originally Posted by EisTee, View Post
Welches Skript index.php? Es geht ja allgemein egal was ich nach dem einloggen anklicke oder so man ist dann direkt wieder ausgeloggt oder sei es man akutalliesiert es.
Jetzt wo ich nochmal nachdenke hatte ich da auch schon.
Schreib mal error_reporting(1); oben auf deine PHP Page.
Bei mir wurde das glaub ich zum Problem als ich irgendwo den Session Name falsch übergeben habe bzw. erneut zugewiesen hab.

z.B
Code:
Seite1: 
$_SESSION['username'] = strtolower($szUsername);

Seite2: 
$_SESSION['usrename'] = strtolower($szUsername);
Weißt du auf was ich hinaus will?
06/26/2015 16:13 ihrnervt#8
Quote:
Trift leider auch nicht zu.
Woher weißt Du das? Hast du das geprüft? Hast Du nachgeschaut, ob der Server die Session überhaupt im, von PHP angegebenen Pfad, speichern kann?

Aktivier die Fehleranzeige in Deinem Script und versuch mal die Session-ID auszugeben nachdem Du sie gespeichert hast.
So viele Fehler kann man bei Sessions nämlich eigentlich nicht machen.
Entweder speichert man nicht richtig, der Server kann nicht speichern oder die Werte werden später im Script versehentlich überschrieben/gelöscht. Viel mehr gibts da eigentlich nicht.
06/26/2015 16:19 EisTee,#9
#Problem gelöst.

Lag daran das die Session Doppelt genutzt wurde auf dem Webspace.

Danke nochmal an alle.