Hallo Leute,
ich bräuchte mal zu folgenden code ein wenig Rat:
anmelden.php
bs_log_ang.inc.php
bestellen/index.php
bestellen.php
So mein Problem ist einfach das es 100x funktioniert, dann geht es wieder nicht.
Sozusagen Kunde meldet sich an, klickt auf den Link bestellen/index.php statt jetzt versand.inc. geladen wird fliegt er wieder raus und nicht_angemeldet wird geladen. Dabei wird wohl eine neue session_id erzeugt, da der Warenkorb danach auch wieder leer sein soll.
Problem: Der Fehler ist bei mir noch nicht aufgetreten.
Was könnte man am Script verbessern. Sessionid wird auch an die URL angehangen wenn cookie deaktiviert ist.
ich bräuchte mal zu folgenden code ein wenig Rat:
anmelden.php
PHP-Code:
<?
session_name("s");
session_start();
// datenbankanbindung
//Korrektur
/*if(!session_is_registered('com')) */ //ist noch aus dem alten script
if(!isset($_SESSION['com']))
{
$_SESSION['com'] = "false";
$_SESSION['mail'] = "";
$_SESSION['kat'] = "";
$_SESSION['menue'] = "";
$_SESSION['subMenue'] = "";
$_SESSION['sessionId'] = rand() . rand();
$_SESSION['gesamtpreis2'] = "";
$_SESSION['porto'] = "";
$_SESSION['best'] = "";
$_SESSION['b_counter'] = "0";
$_SESSION['b_id'] = "";
$_SESSION['langu'] = "de";
}
if($action != "abwicklung")
{
$_SESSION['best'] = "";
}
//Sprache includen etc.
if($katId == "")
{
$_SESSION['kat'] = "";
}
if(einige Abfragen zwecks login)
{
//passwort und Email checken, wenn korrekt, dann wird folgendes includet:
include($dateiPfad . "themes/user/bs_log_ang.inc.php");
}
?>
PHP-Code:
<?
$_SESSION['com'] = "true";
$_SESSION['mail'] = $_POST['email'];
//include von header, tabellen, content etc.
// Template - ausgabe das der kunde angemeldet ist und ein Link
zur nächsten Seite: /bestellen/index.php
?>
PHP-Code:
session_name("s");
session_start();
// datenbankanbindung
//Korrektur
/*if(!session_is_registered('com')) */ //ist noch aus dem alten script
if(!isset($_SESSION['com']))
{
$_SESSION['com'] = "false";
$_SESSION['mail'] = "";
$_SESSION['kat'] = "";
$_SESSION['menue'] = "";
$_SESSION['subMenue'] = "";
$_SESSION['sessionId'] = rand() . rand();
$_SESSION['gesamtpreis2'] = "";
$_SESSION['porto'] = "";
$_SESSION['best'] = "";
$_SESSION['b_counter'] = "0";
$_SESSION['b_id'] = "";
$_SESSION['langu'] = "de";
}
if($action != "abwicklung")
{
$_SESSION['best'] = "";
}
//sprache, etc includen.
if($katId == "")
{
$_SESSION['kat'] = "";
}
include($dateiPfad . "themes/bestellen/bestellen.php");
PHP-Code:
<?
if($_SESSION['com'] == "false")
{
$von = "warenkorb";
include($dateiPfad . "themes/bestellen/nicht_angemeldet.inc.php");
}
if(($_SESSION['com'] == "true") && ($_POST['action'] != "s2") && ($_POST['action'] != "abwicklung"))
{
include($dateiPfad . "themes/bestellen/versand.inc.php");
}
if(($_SESSION['com'] == "true") && ($_POST['action'] == "s2") && ($_POST['action'] != "abwicklung"))
{
include($dateiPfad . "themes/bestellen/bestellvorgang_tp.inc.php");
}
Sozusagen Kunde meldet sich an, klickt auf den Link bestellen/index.php statt jetzt versand.inc. geladen wird fliegt er wieder raus und nicht_angemeldet wird geladen. Dabei wird wohl eine neue session_id erzeugt, da der Warenkorb danach auch wieder leer sein soll.
Problem: Der Fehler ist bei mir noch nicht aufgetreten.
Was könnte man am Script verbessern. Sessionid wird auch an die URL angehangen wenn cookie deaktiviert ist.
EDIT:
if(!session_is_registered('com')) hatte ich aus dem alten ordner kopiert, aktuell benutze ich: if(!isset($_SESSION['com']))
Kommentar