Online-Shop
Michael W.
- php
Hallo,
ein online-shop system bzw ein warenkorb system ist ja schon ein komplexeres system als ich bisher dachte. ich habe einen online shop auf einer seite wunderbar hinbekommen. aber auf 2 seiten verteilt (d.h. shop.php und kasse.php ect.) sieht das schon wieder ganz anders aus, obwohl ich es inzwischen hinbekommen hab ein gefülltes array von der seite a.php zur seite b.php zu übermitteln ohne ein formular oder links zu benutzen d.h. mit sessions und session_register().
kommen wir mal auf den punkt:
meine frage: wie immer: was habe ich falsch gemacht, nicht berücksichtigt oder vergessen ?:
http://mitglied.lycos.de/djwoelk3/djwoelk/europizza/
link: pizzen (karte.php):
-------------------------
karte.php
<body bgcolor="#CBD3DA" style="font-family: Arial; margin-left: 5px; margin-top: 5px">
<?php
session_start();
if (isset ($arr_nr))
{
$nr = $_GET['nr'];
$euro = $_GET['euro'];
$text = $_GET['text'];
$arr_nr[] = $nr;
$arr_euro[] = $euro;
$arr_text[] = $text;
session_register("arr_nr");
session_register("arr_euro");
session_register("arr_text");
}
else
{
print "Fehler (Kein Array vorhanden)";
}
?>
<br>
<br>
<br>
<a href="karte.php?nr=001&euro=4.50&text=Salami Pizza Classic" onclick="alert('Wurde hinzugefügt !')">001</a>
<a href="karte.php?nr=002&euro=5.00&text=Hawaii Pizza" onclick="alert('Wurde hinzugefügt !')">002</a>
<a href="karte.php?nr=003&euro=1.50&text=Cola" onclick="alert('Wurde hinzugefügt !')">003</a>
---------------------------------
link: ihre auswahl (auswahl.php):
---------------------------------
auswahl.php
<body bgcolor="#CBD3DA" style="font-family: Arial; margin-left: 5px; margin-top: 5px">
<?php
session_start();
if (isset ($del))
$offset = $_GET['del'];
{
array_splice ($arr_nr, $offset, 1);
array_pop ($arr_nr);
array_splice ($arr_euro, $offset, 1);
array_pop ($arr_euro);
array_splice ($arr_text, $offset, 1);
array_pop ($arr_text);
}
$summe = array_sum($arr_euro);
print "<table border="1" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" width="70%">";
print "<tr>";
print "<td align="center" width="41">Nr.</td>";
print "<td align="center" width="100">Bestell-Nr.</td>";
print "<td align="center" width="270">Beschreibung</td>";
print "<td align="center">Preis</td>";
print "</tr>";
for($i=1;$i<count($arr_nr);$i++)
{
print "<tr>";
print "<td align="center">".$i."<a href="auswahl.php?del=$i">Löschen</a></td>";
print "<td align="center">".$arr_nr[$i]."</td>";
print "<td align="center">".$arr_text[$i]."</td>";
print "<td align="center">".$arr_euro[$i]." € </td>";
print "</tr>";
}
print "<tr>";
print "<td align="center"></td>";
print "<td align="center"></td>";
print "<td align="center"></td>";
print "<td align="center"></td>";
print "</tr>";
print "</table>";
print "<br>";
print "Total: ".$summe;
session_register("arr_nr");
session_register("arr_euro");
session_register("arr_text");
?>
--------------------------------
und nochmal der link http://mitglied.lycos.de/djwoelk3/djwoelk/europizza/
P.S.: die kasse hat noch keinen kassierer ...
Danke
wie wäre es der einfachheit halber mit cookies, damit kann man wunderbar arbeiten.
mfg sebastian
wie wäre es der einfachheit halber mit cookies, damit kann man wunderbar arbeiten.
mfg sebastian
soweit ich weiß, ist das eine (sozusagen) db auf dem pc des users.
nur leider brauche ich mehr infos, da ich cookies nur zum verwenden von userinfos kenne (sie sind zum x. mal hier) ...
geb am besten mal ein kleines beispiel oder links
danke
wie wäre es der einfachheit halber mit cookies, damit kann man wunderbar arbeiten.
mfg sebastian
das hier würde doch (glaube ich) passen:
"Sie können auch ein Array an Cookies setzen, in dem sie die Array-Schreibweise benutzen. Dadurch werden so viele Cookies gesetzt, wie ihr Array Elemente hat. Sobald das Cookie aber von ihrem Skript gelesen wird, werden alle Werte in ein einziges Array mit dem Cookie-Namen eingelesen:
setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone");
if (isset ($cookie)) {
while (list ($name, $value) = each ($cookie)) {
echo "$name == $value<br>\n";
}
}"
d.h. ( nur der klarheit halber):
ich muss vorher eon array definieren
$cookie = Array()
und dieses array, das als cookie auf dem pc gespeichert wird als $cookie ausgeben.
das cookie wird durch setcookie definiert:
also:
$cookie = array();
$cookie (als array) = [cookie]
$cookie (als cookie)
im beispiel steht wir man die einzelnen variablen in das array einteilt.
kann ich das ganze auch so machen:
$a = 'wort1';
$b = 'wort2';
$arr = array();
$arr = $a;
$arr = $b;
setcookie ("arr", "cookie");
echo join('<br>',$arr);
und als ausgabe erhalte ich den inhalt des cookies:
wort1
wort2
?? ist das so korrekt ??
wenn ja, müsste ich das cookie(array) doch auch auf einer anderen seite genauso abrufen können, da es ja auf dem pc gespeichert wird...
??????
oder
!!!!!!
?
Danke
Hi!
<body bgcolor="#CBD3DA" style="font-family: Arial; margin-left: 5px; margin-top: 5px">
<?php
session_start();
session_start() MUSS aufegrufen werden bevor irgendwelche Headerinformation geschickt werden, das heist, bevor das php-Script irgendetwas aus gibt (sei es über echo, print usw. oder reines html !
Am besten in der ersten Zeile der Datei folgendes notieren.
<?php
session_start();
siehe auch http://www.php.net/manual/de/function.session-start.php
Gruß Herbalizer