niet toevoegen of gewoon niet uitlezen?
Zit met het volgende gedeelte :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
session_start();
if (isset($_GET['aantal'])) {
if ($_SESSION['user_id'] == $_SESSION['user_id']) {
if(@$_SESSION['client_ip']==$_SERVER['REMOTE_ADDR'])
{
@$_SESSION['bestel'] == 1;
}else{ @$_SESSION['bestel'] == 0; }
$mandje = $_SESSION['mandje'];
if ($mandje) {
if (ereg("".$_GET['artikel']."\(([0-9]+)\)", $mandje, $regs)) {
$aantal = $_GET['aantal'] + $regs[1];
$mandje = ereg_replace(
"^(.*)(".$_GET['artikel'].")\([0-9]+\)(.*)$",
"\\1\\2(".$aantal.")\\3",
$mandje);
}
else {
$mandje .= "-".$_GET['artikel']."(".$_GET['aantal'].")";
}
}
else {
$mandje = "".$_GET['artikel']."(".$_GET['aantal'].")";
}
$_SESSION['mandje'] = $mandje;
header("location: shop.php");
}else{
echo "Logt u astublieft eerst in.";
}
}
?>
session_start();
if (isset($_GET['aantal'])) {
if ($_SESSION['user_id'] == $_SESSION['user_id']) {
if(@$_SESSION['client_ip']==$_SERVER['REMOTE_ADDR'])
{
@$_SESSION['bestel'] == 1;
}else{ @$_SESSION['bestel'] == 0; }
$mandje = $_SESSION['mandje'];
if ($mandje) {
if (ereg("".$_GET['artikel']."\(([0-9]+)\)", $mandje, $regs)) {
$aantal = $_GET['aantal'] + $regs[1];
$mandje = ereg_replace(
"^(.*)(".$_GET['artikel'].")\([0-9]+\)(.*)$",
"\\1\\2(".$aantal.")\\3",
$mandje);
}
else {
$mandje .= "-".$_GET['artikel']."(".$_GET['aantal'].")";
}
}
else {
$mandje = "".$_GET['artikel']."(".$_GET['aantal'].")";
}
$_SESSION['mandje'] = $mandje;
header("location: shop.php");
}else{
echo "Logt u astublieft eerst in.";
}
}
?>
Nu krijg ik het alleen niet zover dat ie de prijs toevoegt.
dat login werkt perfect, alleen dit is de pagina waar je moet bevestigen per product en het aantal daarvan.
De prijs wordt zo berekend door dit script :
$prijs = ($_POST['aantal'] / 1000) * $prijs_kilo;
$prijs = number_format($prijs, 2, ',', '.');
Dit komt later in het script, maar mij lukt het niet om de $prijs in die sessies te krijgen per product.
Laat staan dat het me lukt om de prijs te updaten in de sessie als het product al bestaat...
Kan iemand me hier mee helpen heb namelijk al van alles geprobeerd maar het wil niet werken.
Wil jullie alvast hartelijk bedanken!:-$
misschien dat dit je de goeie richting of iets dergelijks in kan richten...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
session_start();
if (is_numeric ($_SESSION['user_id']) && intval ($_SESSION['user_id']) !== 0 && $_SESSION['client_ip'] == $_SERVER['REMOTE_ADDR'])
{
if (isset($_GET['aantal']) && is_numeric ($_GET['aantal']) && intval ($_SESSION['aantal']) !== 0) {
$_SESSION['bestel'] = 1;
else
$_SESSION['bestel'] = 0;
$mandje = $_SESSION['mandje'];
if (!empty ($_SESSION['mandje']))
{
if (is_numeric ($_GET['artikel']))
{
$aantal = $_GET['aantal'] + 1;
function stuff ($a, $b, $c, $d)
{
return $a . $b . $c . $d;
}
$_SESSION['mandje'] = preg_replace ('#^(.*)\(' . $_GET['artikel'] . '\)\([0-9]+\)(.*)$#se', 'stuff (\'\\1\', \'\\2\', \'' . $aantal . '\', \'\\3\')', $_SESSION['mandje']);
$_SESSION['mandje'] = $_SESSION['mandje'] . '-' . $_GET['artikel'] . '(' . $_GET['aantal'] . ')';
header ('location: shop.php');
}
else
{
echo 'Ongeldig artikel!';
}
}
else
{
$_SESSION['mandje'] .= $_GET['artikel'] . '(' . $_GET['aantal'] . ')';
header ('location: shop.php');
}
}
else
echo 'Gelieve eerst in te loggen voordat u deze actie begaat.';
?>
session_start();
if (is_numeric ($_SESSION['user_id']) && intval ($_SESSION['user_id']) !== 0 && $_SESSION['client_ip'] == $_SERVER['REMOTE_ADDR'])
{
if (isset($_GET['aantal']) && is_numeric ($_GET['aantal']) && intval ($_SESSION['aantal']) !== 0) {
$_SESSION['bestel'] = 1;
else
$_SESSION['bestel'] = 0;
$mandje = $_SESSION['mandje'];
if (!empty ($_SESSION['mandje']))
{
if (is_numeric ($_GET['artikel']))
{
$aantal = $_GET['aantal'] + 1;
function stuff ($a, $b, $c, $d)
{
return $a . $b . $c . $d;
}
$_SESSION['mandje'] = preg_replace ('#^(.*)\(' . $_GET['artikel'] . '\)\([0-9]+\)(.*)$#se', 'stuff (\'\\1\', \'\\2\', \'' . $aantal . '\', \'\\3\')', $_SESSION['mandje']);
$_SESSION['mandje'] = $_SESSION['mandje'] . '-' . $_GET['artikel'] . '(' . $_GET['aantal'] . ')';
header ('location: shop.php');
}
else
{
echo 'Ongeldig artikel!';
}
}
else
{
$_SESSION['mandje'] .= $_GET['artikel'] . '(' . $_GET['aantal'] . ')';
header ('location: shop.php');
}
}
else
echo 'Gelieve eerst in te loggen voordat u deze actie begaat.';
?>
Bedankt!
Ja het is ook niet me eigen geschreven code, iemand heeft het voor me gemaakt en me ermee laten zitten en om alles nou opnieuw te schrijven leek me teveel werk.
Hoe zou ik nog het beste die prijs erin krijgen want later in het script gebruik ik dit :
$prijs = ($_POST['aantal'] / 1000) * $prijs_kilo;
$prijs = number_format($prijs, 2, ',', '.');
Om de prijs te berekenen en de echo "$prijs";
Dat werkt wel maar om hem bij het product in de sessie te krijgen dat lukt me niet op de 1 of andere manier...
Wie zou me hierbij nog kunnen helpen?:-$
Gewijzigd op 13/01/2005 11:41:00 door B. wetering
probeer het eens met regex...
dank je! zal het even opzoeken op php.net:)
Wat het echoen van die prijs werkt ook en geeft ook de juiste prijs aan nu wil ik ook dat die echo gewoon in die sessie komt ik weet alleen niet hoe , met $_GET kan het niet want het gaat niet via de url geloof ik en $_POST ook niet want het gaat niet via een formulier, zou iemand me kunnen helpen ben er alweer een hele dag mee aan het klooien geweest :-$