Eigene Session starten/speichern

Hallo liebe Oxidgemeinde!

Ich brauche DRINGEND Hilfe, da unser Shop morgen starten muss!!!

Wir haben die neueste Version des Communityshops.

Unser Shop ist ein spezieller Fall:
Ich hab eine Umleitungsseite die auf einen von zwei Shops weiterleitet je nach Zugangscode.
Ich habe diese bereits erfolgreich bei unserem vorigen Shopsystem eingebaut, aber leider funktioniert das beim Oxidshop nicht mehr…

Das liegt wahrscheinlich daran, dass die Bedingungen für Sessions oder Cookies beim Oxidshop um einiges genauer programmiert sind.

Ich brauche ein Session die über allem anderen liegt - ich hab die auth.php zur Sessionabfrage gleich in der config.php eingebunden.

Diese Datei lautet so:


<?php
session_start();

if(!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
      header("location: http://www.domain.at/login_a.php");
      exit;
}
?>

Für die Loginseite hab ich folgendes Script:


if (isset($_POST["enter"])) {
	
	session_start();
	
	$_SESSION = array();
		
    $passwort = $_POST["passwort"];


	if (md5($passwort) == $passwort1 || ......) 
		{
		
		$_SESSION['angemeldet'] = true;

		// Weiterleitung
		if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (php_sapi_name() == 'cgi') {
         header('Status: 303 See Other');
         }
        else {
         header('HTTP/1.1 303 See Other');
         }
        }
		header("location: http://www.domain.at/shop/zweiter_shop");
		exit;
	}


Muss ich irgendwelche Shopänderungen vornehmen damit die Session gestartet/gespeichert wird?? Oder wie kann ich das sonst einfach verwirklichen?

BITTE UM BALDIGE HILFEEEE! DANKEEE ;D

Hab ich eine doofe oder eine schwierige Frage gestellt? Ich brauche einfach einen Tipp wie ich eine eigene Session starten kann ohne dass es einen Fehler verursacht.

Ich denke dass mein Script richtig ist, weil es ja schon funktioniert hat - es liegt wohl an einer Shopeinstellung.

Hab übrigens beim letzten Shop (Randshop) auch die Sessionkontrolle am Anfang der config.php gesetzt.

eine nicht ganz alltägliche Frage jedenfalls, da die Mehrheit der User wohl kaum an der Session dreht

insofern sind 2 Stunden Zeit ggf. ein wenig knapp bemessen, da die meisten Entwickler wahrscheinlich die meiste Zeit am entwickeln sind, und nicht die ganze Zeit darauf lauern, ob eventuell im Forum eine Frage gestellt wurde

schonmal Onkel Google gefragt?

https://forum.oxid-esales.com/showthread.php?t=6879#post40520


Ok das ist mir schon klar, aber versuchen muss ichs ja :wink:
Es wäre halt super wenn mir noch jemand helfen könnte :-/ ich werd mit dem Projekt sowieso noch die ganze Nacht beschätigt sein (kennen sicher viele) und ich möchte jetzt endlich dieses blöde Weiterleitungsproblem lösen…

Übrigens bin ich mir gar nicht mehr sicher ob es nun ein genereller Programmierfehler ist oder ob der Oxid halt das nicht zulässt…

Die Topics hab ich schon längst gelesen, aber es nicht wirklich die Erleuchtung dabei, habe auch schon einen beteiligten User gefragt.

Ich versuchs einfach weiter. [B]Vielleicht hat ja noch wer einen Tipp…[/B]

Griazi :wink::expressionless:

die Variante mit dem erzwingen der Session beim Aufruf einer beliebigen Seite durch die Angabe von

$this->blForceSessionStart = true;

in der config.inc.php funktioniert nicht?

Du kannst übrigens seit der 4.7.0 eine cust_config.inc.php ins Rootverzeichnis legen, mit ergänzenden Anweisungen. Die wird dann im Anschluss an die config.inc.php abgearbeitet.
-> http://wiki.oxidforge.org/Downloads/4.7.0_5.0.0#External_file_for_own_config_options

Es ist anscheinend eh eine PHP-Sache - da bei der automatischen Weiterleitung mit header die Session nicht übergeben wird… Nur wüsst ich dann nicht wies anders (und unkompliziert) möglich ist das hinzukriegen - eine automatische weiterleitung ist doch das normalste der Welt nach einer Formulareingabe…

nur passiert diese “normale” Weiterleitung nicht per header() sondern es wird einfach eine View gerendert.

Versuch mal die Session ID an die redirect URL anzuhängen, so dass der Shop dann weiß welche Session das ist

Hast du hier eine Lösung mit der Klasse oxSession gefunden? Ich suche nämlich gerade auch nach was ähnlichem und komme nicht weiter : http://forum.oxid-esales.com/showthread.php?t=17317