PHP Login mit $_SESSION unter Edge bzw. IE

Hugo Stiglitz

Ensign
Registriert
Aug. 2015
Beiträge
191
Hallo liebe CB-Gemeinde!

Ich befinde mich in mitten eines Web-Projektes, und stolpere momentan über folgendes Problem:

Mein Login Skript startet nur unter Safari, Mozilla und Chrome die $_SESSIONs. Unter Internet Explorer und Edge tut es das nicht.

Kann mir irgendjemand einen Rat oder Tipp geben, weshalb das nicht funktioniert bzw. nur in diesen Browsern nicht?


Bitte wirklich explizit zu diesem Thema antworten.

Danke im Voraus.
 
Code-Beispiel? Bei meinen Seiten klappt $_SESSION im IE11 ohne Probleme.
 
session_start() vergessen?
 
Also session_start(); führe ich in der index.php aus. Diese Datei lädt die Seiten per include.

Die ersten Zeilen meiner index.php:

PHP:
ob_start();
#error_reporting(E_ALL & ~ E_NOTICE);
#error_reporting(E_ALL);
session_save_path("temp");
session_start();

	include "inc/sql.cfg.php";
	include "inc/class.php";
	include "inc/functions.php";


Die Login.php:

PHP:
  if(!$_SESSION['uid'] && !$_SESSION['loggedIn']) {
 $email = $db->escape($_POST['email']);
 $pw = md5($_POST['password']);
 
 $countMail = strlen($email);
 $countPw = strlen($_POST['password']);
 

if($countMail>=4 && $countPw>=6) {
	
//check mail
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
	
$user = $db->query("SELECT * FROM `users` WHERE `email`='".$email."' LIMIT 1");


	if($user) {
		$user = $user[0];
		if($user['email']==$email && $user['password']==$pw) {
			
			if($user['activated']) {
			
			
			$_SESSION['uid'] = $user['id'];
			$_SESSION['loggedIn'] = true;
			$_SESSION['type'] = $user['type'];
			$db->query("UPDATE `users` SET `lastLogIn`='".time()."' WHERE `id`='".$user['id']."'");
			header("Location: /startseite/");
			} else addBee("Ihr Account wurde noch nicht aktiviert.");
			
		} else addBee("Anmeldedaten stimmen nicht überein!");
	
	
	
		
		
		
	} else addBee("Die eingegebene E-Mail Adresse existiert nicht!");


Ich bitte euch ausdrücklich, nur auf meine Frage Antworten zu geben. Der Code ist von mir noch nicht optimiert.
Also bitte nicht auf anderes eingehen.
 
Lokal oder auf einem Webserver? Habe das hier gefunden:

There's a bug in Internet explorer in which sessions do not work if the name of the server is not a valid name. For example...if your server is called web_server (_ isn't a valid character), if you call a page which uses sessions like http://web_server/example.php your sessions won't work but sessions will work if you call the script like this

Hat dein Servername unter Umständen einen "_"?

Andernfalls entferne testweise mal aus der index.php

Code:
session_save_path("temp");
 
Zurück
Oben