PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Session Variablen auf SSL Server


cooperation
18.01.2005, 01:26:00
Hallo

Ich würde mich echt freuen, wenn ich in diesem Forum eine Antwort auf mein Problem bekomme!

Ich verwende das Mambo CMS System, darin habe ich eigens einen PHP Shop programmiert.

Der Ablauf:
0. Der User wählt seine Produkte, geht dann zur Kasse (jetzt wird er auf den SSL Server weitergeleitet auf dem alle files für die weiteren Schritte abgelegt sind).

1. Er muss auf der ersten Seite seine Daten eingeben (Name, Strasse, ...)

2. Diese auf der zweiten Seite bestätigen und die Zahlmethode (Nachnahme, Vorkasse, Bankeinzug) auswählen.

3.Kommt er nun auf die dritte Seite, sind alle Variabeln, die auf der ersten Seite in globalen session Variablen gespeichert wurden, leer!

Warum?

Noch ein Hinweis:
Wenn man auf diesen Vorgang, der am SSL Server abläuft, direkt zugreift, ohne das MAMBO CMS System drum herum (Menu, Navigation ,...) dann läuft alles einwandfrei.

|Coding
18.01.2005, 01:33:31
hi,

vielleicht gibt es bei den variablen einen konflikt. also zwischen denen vom cms und denen des shops.

kriegst du fehlermeldungen?

in jeder betreffenden seite session_start()?

cooperation
18.01.2005, 15:21:55
Also die Variablen von mir sind meisten unkonventionell auf Detusch da die vom CMS auf englisch sind - somit wollte ich Konflikte preventiv vermeiden

leider keine einzige Fehlermeldung

ja, session_start() steht auf jeder Seite ganz oben

ich habe auch schon versucht die SessionID mittels "hidden" Input Feldern mit zu übergeben, ohne Erfolg.

Ich kann Dir gerne den Link schicken wenn es Dir, ich meine, wenn Du mir damit helfen könntest?

|Coding
18.01.2005, 15:36:54
also, hmmm, ich finde dieses problem in der tat komisch. irgendwie muss das cms doch mit dem shop in konflikt stehen, wenn es die variablen aber nicht sind... dann...

nur noch mal so gefragt: die error meldungen werden auch nicht unterdrückt, weder vom cms noch vom shop?

ist das nicht der fall, dann wäre ein codefragment hilfreich. poste doch mal die session verwaltung, des schops und des cms. vielleicht läßt sich da was entnehmen.

xabbuh
18.01.2005, 16:01:41
Ist die Sessionid denn auf den nachfolgenden Seiten noch die gleiche oder ändert sich diese?

cooperation
18.01.2005, 16:27:05
Seite Warenkorb.php (der user hat bereits eine Auswahl von Produkten getroffen und geht nun zur Kasse => wird auf SSL Server weitergeleitet):

--------------------------------------------------------

<?
session_start();
/****in der connect.php wird die Verbidnung zur DB hergestellt****/
include("connect.php");

/****in der vardef.php steht:
session_register('online','summe_gesamt','menge_gesamt');****/
include("vardef.php");

/*** Jetzt wird der Warenkorb ***/

/*** so gehts weiter zum nächsten Schritt ***/
/*** Diese Abfrage dient nur zu Testzwecken ***/
if($online == 'yes')
{
echo "<form name='form2' method='post' action='https://ssl.world4you.com/back-to-basics/matrixx/shop/formular.php'>";
}
else
{
echo "<form name='form2' method='post' action='ssl/formular.php'>";
}

/*** dieser Teil diente um das Array Warenkorb auf den SSL Server durch den Domain Wechsel zu schicken: ***/
//$database = session_encode();
//echo "<input name='database' type='hidden' value='$database'>";
?>
<div align='center'><input type="submit" name="kassa" value="zur Kassa" class="button2"></div>
<?
echo "</form>";
?>

--------------------------------------------------------

Seite 1 auf SSL Server (formular.php):
--------------------------------------------------------

<?php
session_start();

/***
globale_var.php beinhaltet:
session_register('anrede','nachname', 'vorname', 'firma', 'strasse',..
***/
include('globale_var.php');
include('connect.php');

/*** diente um den String des Warenkorbs wieder zu decodieren ***/
//session_decode($database);

/*** Es folge ein HTML Bestellformular mit Input Feldern: ***/
<form name='form1' method='post' action='step2.php'>
<INPUT TYPE='Text' NAME='nachname' SIZE='50' value='$nachname'>
...
<input name='ausgefllt' type='hidden' id='ausgefllt' value='1'>
<input class='button' type='reset' name='Ablehnen' value='Ablehnen / Reset'>
<input class='button2' type='submit' value='Akzeptieren'>
<!-- <input type='hidden' name='PHPSESSID' value='session_id()'> -->
</form>

?>

--------------------------------------------------------

Seite 2 auf SSL Server (step2.php):
--------------------------------------------------------

<?php
session_start();

include('globale_var.php');
include('connect.php');

if (!empty($HTTP_POST_VARS)) {extract($HTTP_POST_VARS);}

/*** JEtzt muss der Kunde Seine Daten überprüfen welche ihm mittels Inlcude Dateien angezeigt werden.***/

include('a_kunden_info.php');

if ($zustelladresse_strasse !='') {
include('a_liefer_info.php');
}
else
{
echo "<p>Die Lieferadresse ist gleich der Rechnungsadresse</p>";
}

if ($nachricht !='') {
include('a_nachricht.php');
}
else
{
echo "---$nachricht---";
}

/*** JEtzt muss der User seine Zahlart auswählen***/

include('a_payment.php');
?>

--------------------------------------------------------

in der a_payment.php steht(gekürzt):
--------------------------------------------------------


<?php
session_start();
if (!empty($HTTP_POST_VARS)) {extract($HTTP_POST_VARS);}
session_register('zahlungsart');
echo "
<form name='form6' action='step3.php' method='post' >
<select name='zahlungsart' size='3'>
<option value='nachnahme'> Nachnahme </option>
<option value='bankeinzug'> Bankeinzug </option>
<option value='kreditkarte'> Kreditkarte </option>
</select>
<input name='ausgefllt' type='hidden' id='ausgefllt' value='1'>
<input class='button2' type='submit' value=' Weiter '>
</form>
";
?>



--------------------------------------------------------

Seite 3 auf SSL Server (step3.php):
AUF DIESER SEITE SIND DANN ALLE FELDER LEER
--------------------------------------------------------

<?php
session_start();

include('globale_var.php');
include('connect.php');

if (!empty($HTTP_POST_VARS)) {extract($HTTP_POST_VARS);}

/*** Jetzt muss der User in einem Formual die Beispiel Kreditkarten Daten eingeben und klickt auf senden. Er wird weitergeleitet zur senden.php, welche die Email generiert und das Bestätigungsmail, später dann auch die Daten in die Datenbank eintragt.***/

/*** Die Kundeninformationen werden wieder wie bei der Seite zuvor durch den inlcude befehl angezeigt***/

include('a_kunden_info.php');

if ($zustelladresse_strasse !='')
{
include('a_liefer_info.php');
}
else
{
echo "<p>Die Lieferadresse ist gleich der Rechnungsadresse</p>";
}

if ($nachricht !='')
{
include('a_nachricht.php');
}

?>

cooperation
18.01.2005, 16:30:54
Original geschrieben von xabbuh
Ist die Sessionid denn auf den nachfolgenden Seiten noch die gleiche oder ändert sich diese?

Wenn ich Die Session ID ausgeben lassen, ist dies immer die gleiche.

|Coding
18.01.2005, 16:35:30
ist das hier korrekt oder ein fehler:

<input name='ausgefllt' type='hidden' id='ausgefllt' value='1'>

da fehlt doch das ü :-)

xabbuh
18.01.2005, 16:48:55
Original geschrieben von |Coding
da fehlt doch das ü :-)
Wenn schon ue ;-)

|Coding
18.01.2005, 17:58:46
ok xabbuh, dein punkt :-)

naja und sollte das nicht vielleicht "kasse" anstatt "kassa" heißen? :D


<div align='center'>
<input type="submit" name="kassa" value="zur Kassa" class="button2"></div>

xabbuh
18.01.2005, 19:13:54
Original geschrieben von |Coding
ok xabbuh, dein punkt :-)

naja und sollte das nicht vielleicht "kasse" anstatt "kassa" heißen? :D


<div align='center'>
<input type="submit" name="kassa" value="zur Kassa" class="button2"></div>

Jetzt mecker doch nicht die ganze Zeit an irgendwelchen Bezeichnungen rum und helf ihm lieber mal... :-D

cooperation
20.01.2005, 00:01:15
Und? Wirklich keiner eine Idee worans liegen kann?

|Coding
20.01.2005, 00:10:20
Original geschrieben von xabbuh
Jetzt mecker doch nicht die ganze Zeit an irgendwelchen Bezeichnungen rum und helf ihm lieber mal... :-D

ich bin perfektionist, ich muss das tun sonst kann ich nicht schlafen :D

und zu dir cooperation. vielleicht solltest du den support vom mambo cms nutzen, weil es meiner meinung nach etwas mit dem cms zu hat, vielleicht können dir die läute da nen tip geben. die sollten ihr cms wohl in und auswendig kennen. ein versuch ist es wert, bevor wir jetzt anfangen, das cms zu zerfleddern.