| | | | |
| | |
| Erfahrener Benutzer Registriert seit: 16.12.2003
Beiträge: 125
![]() | Hi Leute, also folgendes, ich will einen Warenkorb programmieren mit Sessions und habe folgendes Problem: Situation: Ich habe 2 oder mehrere Artikel, wenn der User die Seite betritt bekommt er automatisch eine SessionID zugewiesen. Wenn er nun auf Artikel 1 klickt wird dieser in den Warenkorb gelegt. Problem: Wenn der User dann auf Artikel 2 klickt so wird der erste Artikel überschrieben. Es soll aber in der Session ein neuer Datensatz angelegt werden. Da es keine Datenbank ist muss ich das irgendwie simulieren, nur wie? Hier die Testseite: http://www.carax-production.de/warenkorb.php Hier mein Code: Code: <?php
session_start();
$SESSIONID=session_id();
session_register("Warenkorb");
echo "
<html>
<head>
<title>Warenkorb</title>
</head>
<body>
<div align=\"center\">
<center>
<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"84%\" id=\"AutoNumber1\">
<tr>
<td width=\"62%\" valign=\"top\" style=\"border-right-style: solid; border-right-width: 1\">
<div align=\"center\">
<center>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber4\">
<tr>
<td width=\"100%\" align=\"center\" colspan=\"4\">
<p align=\"left\"><font face=\"Verdana\" size=\"2\" color=\"#626231\">
Warenkorb </font><font face=\"Verdana\" size=\"1\" color=\"#626231\">
($SESSIONID)</font></td>
</tr>
<tr>
<td width=\"10%\" align=\"center\" height=\"25\">
<font face=\"Verdana\" size=\"1\" color=\"#666633\">AID</font></td>
<td width=\"54%\" align=\"center\" height=\"25\">
<font face=\"Verdana\" size=\"1\" color=\"#666633\">Artikelname</font></td>
<td width=\"14%\" align=\"center\" height=\"25\">
<font face=\"Verdana\" size=\"1\" color=\"#666633\">Menge</font></td>
<td width=\"22%\" align=\"center\" height=\"25\">
<font face=\"Verdana\" size=\"1\" color=\"#666633\">Preis</font></td>
</tr>";
if($Artikelname=="")
{
echo " <tr>
<td width=\"100%\" align=\"center\" colspan=\"4\" height=\"62\">
<font face=\"Verdana\" size=\"2\">- Keine Artikel im Warenkorb - </font></td>
</tr>";
$GESAMTPREIS=0;
}
else
{
$Warenkorb="$AID@$Artikelname@$Menge@$Preis";
$GESAMTPREIS=0;
$Ausgabe = explode("@", $Warenkorb);
$W_AID=$Ausgabe[0];
$W_Artikelname=$Ausgabe[1];
$W_Menge=$Ausgabe[2];
$W_Preis=$Ausgabe[3]*$W_Menge;
$GESAMTPREIS=$GESAMTPREIS+$W_Preis;
$ZAEHLER=0;
echo "<tr>
<td width=\"10%\" align=\"center\">
<font face=\"Verdana\" size=\"2\" color=\"#666633\">$W_AID</font>
</td>
<td width=\"54%\" align=\"center\">
<font face=\"Verdana\" size=\"2\" color=\"#666633\">$W_Artikelname</font>
</td>
<td width=\"14%\" align=\"center\">
<input type=\"text\" name=\"Menge\" size=\"2\" value=\"$W_Menge\">
</td>
<td width=\"22%\" align=\"center\">
<font face=\"Verdana\" size=\"2\" color=\"#FF0000\">$W_Preis €</font>
</td>
</tr>";
}
echo "
</table>
</center>
</div>
</td>
<td width=\"38%\" style=\"border-bottom-style: none; border-bottom-width: medium; border-left-style:solid; border-left-width:1\" align=\"left\" valign=\"top\">
<div align=\"center\">
<center>
<form method=post action=\"warenkorb.php\">
<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber2\">
<tr>
<td width=\"100%\"><font face=\"Verdana\" size=\"2\" color=\"#626231\">ATI Radeon 9600 Pro</font></td>
</tr>
<tr>
<td width=\"100%\">
<font face=\"Verdana\" style=\"font-style: italic\" color=\"#666633\" size=\"1\">
(Leistungsfähige Grafik zum super Preis)</font></td>
</tr>
<tr>
<td width=\"100%\"><font face=\"Verdana\" size=\"2\" color=\"#666633\">Text und Bild</font></td>
</tr>
<tr>
<td width=\"100%\"><font face=\"Verdana\" size=\"2\">
<font color=\"#666633\">Stückpreis:</font><font color=\"#FF0000\">
</font><font color=\"#FF0000\">169 €</font></font></td>
</tr>
<tr>
<td width=\"100%\"><input type=\"hidden\" name=\"Artikelname\" value=\"ATI Radeon 9600 Pro\"><input type=\"hidden\" name=\"Preis\" value=\"169\"><input type=\"hidden\" name=\"AID\" value=\"1\">
<input type=\"text\" name=\"Menge\" size=\"2\" value=\"1\">
<input type=\"submit\" value=\"In Warenkorb legen\" name=\"Button1\" style=\"color: #333300; font-family: Arial; font-size: 8pt; border: 1px solid #666633; background-color: #D7D7C4\"></td>
</tr>
</table>
</form> <form method=post action=\"warenkorb.php\">
<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber3\">
<tr>
<td width=\"100%\"><font face=\"Verdana\" size=\"2\" color=\"#626231\">AMD Athlon 4Ghz</font></td>
</tr>
<tr>
<td width=\"100%\">
<font face=\"Verdana\" style=\"font-style: italic\" color=\"#666633\" size=\"1\">
(Leistungsfähiger Prozessor zum super Preis)</font></td>
</tr>
<tr>
<td width=\"100%\"><font face=\"Verdana\" size=\"2\" color=\"#666633\">Text und Bild</font></td>
</tr>
<tr>
<td width=\"100%\"><font face=\"Verdana\" size=\"2\"><font color=\"#666633\">Stückpreis:</font>
<font color=\"#FF0000\">350 €</font></font></td>
</tr>
<tr>
<td width=\"100%\"><input type=\"hidden\" name=\"Artikelname\" value=\"AMD Athlon 4Ghz\"><input type=\"hidden\" name=\"Preis\" value=\"350\"><input type=\"hidden\" name=\"AID\" value=\"2\">
<input type=\"text\" name=\"Menge\" size=\"2\" value=\"1\">
<input type=\"submit\" value=\"In Warenkorb legen\" name=\"Button1\" style=\"color: #333300; font-family: Arial; font-size: 8pt; border: 1px solid #666633; background-color: #D7D7C4\"></td>
</tr>
</table>
</form>
</center>
</div>
</td>
</tr>
<tr>
<td width=\"62%\" style=\"border-right-style: solid; border-right-width: 1\"><font face=\"Verdana\" size=\"2\"><font color=\"#666633\">
Gesamtpreis:</font> <font color=\"#FF0000\">$GESAMTPREIS €</font></font></td>
<td width=\"38%\" style=\"border-top-style: none; border-top-width: medium; border-left-style:solid; border-left-width:1\"></td>
</tr>
</table>
</center>
</div>
</body>
</html>";
?>
|
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 16.12.2003
Beiträge: 125
![]() | Hi Leute, also ich hab das Problem mit den Datensätzen alleine gelöst! Es gibt da noch ein neues Problem, aber zuerst mein Code. Code: <?php
session_start();
$SESSIONID=session_id();
if(session_is_registered("Warenkorb"))
{
$COUNT++;
}
else
{
session_register("Warenkorb");
session_register("COUNT");
$COUNT=0;
}
if($Artikelname=="")
{
echo " <tr>
<td width=\"100%\" align=\"center\" colspan=\"4\" height=\"62\">
<font face=\"Verdana\" size=\"2\" color=\"#666633\">- keine Artikel im Warenkorb - </font></td>
</tr>";
$GESAMTPREIS=0;
}
else
{
if($Warenkorb=="")
{
$Warenkorb="$AID@$Artikelname@$Menge@$Preis";
}
else
{
$Warenkorb="$Warenkorb%$AID@$Artikelname@$Menge@$Preis";
}
$GESAMTPREIS=0;
$Datensatz = explode("%", $Warenkorb);
for($ZAHL=0;$ZAHL<$COUNT;$ZAHL++)
{
$Ausgabe = explode("@", $Datensatz[$ZAHL]);
$W_AID=$Ausgabe[0];
$W_Artikelname=$Ausgabe[1];
$W_Menge=$Ausgabe[2];
$W_Preis=$Ausgabe[3]*$W_Menge;
$GESAMTPREIS=$GESAMTPREIS+$W_Preis;
$ZAEHLER=0;
echo "<tr>
<td width=\"10%\" align=\"center\">
<font face=\"Verdana\" size=\"2\" color=\"#666633\">$W_AID</font>
</td>
<td width=\"54%\" align=\"center\">
<font face=\"Verdana\" size=\"2\" color=\"#666633\">$W_Artikelname</font>
</td>
<td width=\"14%\" align=\"center\">
<input type=\"text\" name=\"Menge\" size=\"2\" value=\"$W_Menge\">
</td>
<td width=\"22%\" align=\"center\">
<font face=\"Verdana\" size=\"2\" color=\"#FF0000\">$W_Preis €</font>
</td>
</tr>";
}
}
?>
Wenn ich nun die Seite betrete so bekommt der User eine SessionID, wenn er einen Artikel in den Warenkorb legt so bekommt er eine neue ID. Das will ich aber nicht! Nun ist es so das es Offline auf meinem Rechner geht, da behalte ich nur die eine SessionID. Wieso geht das auf dem Server nicht? Muss ich was im Code ändern? Testseite: http://www.carax-production.de/warenkorb.php Thx, im voraus! |
| |
| | |||
| Gast
Beiträge: n/a
| Zitat:
Code: session_start(); $warenkorb = array(); if (! isset($_SESSION['warenkorb'])) # wenn neu, dann Array im Session Hash erzeugen $_SESSION['warenkorb'] = array(); # Auswertung der Daten und speichern in $warenkorb # Abspeichern des Warenkorbs in der Session $_SESSION['warenkorb'][] = $warenkorb; # so landen alle Teilwarenkörbe in der Session Code: if (isset($_SESSION['warenkorb']))
{
$k = count($_SESSION['warenkorb']);
for ($i=0; $i<$k; $i++)
{
# Tu was mit $_SESSION['warenkorb'][$i]
}
# bearbeiteten Warenkorb löschen
@unset ($_SESSION['warenkorb']);
}
else
{
# Warenkorb ist leer
}
Zitat:
| ||
| | |
| Erfahrener Benutzer Registriert seit: 16.12.2003
Beiträge: 125
![]() | Thx, ich werd das mit dem Warenkorb glcih ma ausprobieren! Also hier ist der Link für die PHPInfo: http://www.carax-production.de/phpinfo.php Und woran könnte es liegen mit den Sessions? |
| |
| | ||
| Erfahrener Benutzer Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse: Fortgeschritten ![]() | ähem .. du hast da was überlesen: Zitat:
| |
| |
| | ||
| Gast
Beiträge: n/a
| Zitat:
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Session Problem | karina_02 | PHP Tipps 2008 | 6 | 18.05.2008 22:37 |
| Problem bei session Lifetime | Cyberbob_at_tot | PHP Tipps 2007 | 5 | 05.06.2007 17:47 |
| Arrays, Session, Warenkorb Problem | Shaft2002 | PHP Tipps 2006 | 6 | 29.11.2006 12:28 |
| session nach seitenwechsel leer... | GELight | PHP Tipps 2006 | 8 | 17.09.2006 15:17 |
| Query was empty bei Warenkorb | Shalina | PHP Tipps 2006 | 12 | 10.06.2006 00:45 |
| [Erledigt] Warenkorb Alternative | PHP-Fortgeschrittene | 28 | 18.04.2006 14:19 | |
| warenkorb & mysql | Mach!N3 | PHP Tipps 2006 | 16 | 27.03.2006 21:18 |
| Problem mit unset() und SESSION | PHP Tipps 2007 | 3 | 17.11.2005 16:48 | |
| einen variablen datensatz löschen | PHP Tipps 2007 | 3 | 04.11.2005 12:41 | |
| [Erledigt] php session problem :( | PHP Tipps 2005-2 | 5 | 21.10.2005 16:37 | |
| Session wird nicht angelegt | PHP Tipps 2005-2 | 7 | 24.07.2005 13:35 | |
| Kreieren einer Session | PHP Tipps 2005 | 11 | 28.05.2005 15:16 | |
| neuen Warenkorb erstellen | PHP Tipps 2005 | 2 | 15.05.2005 14:10 | |
| [Erledigt] Formulardaten in einer Session speichern, per Link übergeben | PHP Tipps 2004-2 | 2 | 29.12.2004 15:47 | |
| [Erledigt] Hilfe...PhpBB Session Problem!! | PHP Tipps 2004-2 | 2 | 15.12.2004 18:28 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| warenkorb programmieren, warenkorb programmieren cookie session, warenkorb programmieren php, \warenkorb alternative\ programmieren, neer warenkorb, php warenkorb session, anzahl/je produkt session php warenkorb, php warenkorb programmieren, warekorb mit session programmieren, warenkorb mit sessions beispiel, if(session_register(\warenkorb\)), einen warenkorb programmieren, warenkorb selber programmieren php fortgeschritten, warenkorb mit session anleitung, if(count($_session[\'warenkorb\']) == 0), php warenkorb session id = $, session warenkorb ?, mit collapse folgeseite falsch, warenkorb sessions programmieren, mehrere artikel in einer session |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.