rows verplaatsen
de row's
id naam prijs ip
1 product 22.50 22,33,33,0
1 product 22.50 22,33,33,0
1 product 22.50 22,33,33,0
1 product 22.50 220,330,330,00
hoe kan ik er dan voor zorgen dat ik alles met ip 22,33,33,0 verplaats naar
'wachtrij'
Wie kan mij helpen !!
Offtopic: Het gebruik van het ip-adres is uitermate onbetrouwbaar, denk bv. aan een proxy. Klanten van AOL hebben allemaal hetzelfde ip-adres en dat zijn toch wel enige miljoenen personen...
winkelwagen en wachtrij zijn 2 verschilende tabellen
ik wil iets maken dat je ze kan verplaatsen of copyeeren naar tabel wachtrij
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$db = pg_connect("dbname=winkelwagen") or die("Could not connect");
$rows = pg_copy_to($db, waitlist);
pg_query($db, "DELETE FROM winkelwagen WHERE ip = $addr");
pg_copy_from($db, winkelwagen, $row "WHERE ip = $addr");
?>
$db = pg_connect("dbname=winkelwagen") or die("Could not connect");
$rows = pg_copy_to($db, waitlist);
pg_query($db, "DELETE FROM winkelwagen WHERE ip = $addr");
pg_copy_from($db, winkelwagen, $row "WHERE ip = $addr");
?>
maar in pg_copy_from geeft die een fout
WHERE moet op een ander manier maar hoe wie weet dat !!
Warning: pg_connect(): Unable to connect to PostgreSQL server: invalid connection option "site_nl_-_winkel" in /var/www/html/ttest/winkel/indexmail.php on line 176
Could not connect
Quote:
En wat vind jij een 'normaal' ip-adres? Juist bij bedrijven vind je proxy-servers e.d. en heb je dus een probleem wanneer je op ip-adres gaat selecteren. Voorbeeldje:deze shop is aleen voor bedrijfen die dus een normaal ip hebben !!
1 bedrijf met meerdere medewerkers:
- Medewerker 1 gaat een winkelwagentje vullen
- Medewerker 2 gaat een winkelwagentje vullen
- Medewerker 1 gaat alles wat met 'zijn' ip-adres (= ip-adres van het hele bedrijf!) is aangemaakt naar de wachtrij verplaatsen. Dus inclusief het winkelwagentje van medewerker 2...
- Medewerker 2 ziet dat zijn winkelwagentje leeg is, denkt dat er iets is fout gegaan en gaat zijn winkelwagentje opnieuw vullen.
Gevolg: Goederen worden dubbel besteld.
Kortom, een hele berg problemen. Nogmaals, je hebt in dit geval helemaal niets, maar dan ook niets, aan het ip-adres. Het is gewoon geen uniek gegeven. Vergeet deze opzet. Ga gebruik maken van sessies om per browser de klant te kunnen indentificeren. Of laat de klant eerst inloggen om zo vast te stellen welke user er aan het bestellen is.
als je op ip doet is elke ip op elke pc hetzelfde dus ook de vieuw_winkel.php
bij elke pc staat het zelfde in de winkelwagen dus kan je nooit dubele orders krijgen !
Quote:
als je op ip doet is elke ip op elke pc hetzelfde
Een bedrijfsnetwerk heeft één extern IP-adres.
Jan:
Een bedrijfsnetwerk heeft één extern IP-adres.
Quote:
als je op ip doet is elke ip op elke pc hetzelfde
Een bedrijfsnetwerk heeft één extern IP-adres.
ja klopt maar je bent wel dom als je mensen dubbel laat bestellen meestal besteld 1 persoon in het bedrijf de dingen en doet dat op 1 pc en als ze het op een andere doen zien ze het toch ook wel als er niets in de winkelwagen staat ;)
jordi:
ja klopt maar je bent wel dom als je mensen dubbel laat bestellen meestal besteld 1 persoon in het bedrijf de dingen en doet dat op 1 pc en als ze het op een andere doen zien ze het toch ook wel als er niets in de winkelwagen staat ;)
Jan:
Een bedrijfsnetwerk heeft één extern IP-adres.
Quote:
als je op ip doet is elke ip op elke pc hetzelfde
Een bedrijfsnetwerk heeft één extern IP-adres.
ja klopt maar je bent wel dom als je mensen dubbel laat bestellen meestal besteld 1 persoon in het bedrijf de dingen en doet dat op 1 pc en als ze het op een andere doen zien ze het toch ook wel als er niets in de winkelwagen staat ;)
Je bent ook best wel dom als je nou nog niet luistert naar Frank en Jan
Quote:
Yeah, right... Bij een eenmanszaak kon je nog wel eens gelijk hebben, maar zodra er meerdere mensen in dienst zijn, wordt er ook door meerdere mensen besteld.meestal besteld 1 persoon in het bedrijf de dingen
Maar goed, ik hoop dat je nog eens gaat inzien dat een ip-adres niet uniek is en dat je daar gewoon niet op kunt vertrouwen.
Daarnaast is het niet eens nodig om het ip-adres te gebruiken. Gebruik gewoon een sessie waar je de hele winkelwagen ingooit. Zodra men wil afrekenen, zet je de hele boel in de database en klaar ben je. En sessies werken per browser, bestellingen kunnen dus nooit door elkaar lopen.
Hier een voorbeeldje:
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
61
62
63
64
65
66
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
61
62
63
64
65
66
<?php
/**
* Add a product in the session.
*
* @access: public
* @param int $id
* @param int $aantal
* @returns booleaan
*/
function addCustomerProduct($id, $aantal)
{
if (is_numeric($id) && is_numeric($aantal)) {
if (!empty($_SESSION['cart'][$id])) {
$_SESSION['cart'][$id]['aantal'] += $aantal;
} else {
$_SESSION['cart'][$id]['aantal'] = $aantal;
}
return true;
}
return false;
}
/**
* Dell a product by specified id
*
* @access public
* @param int $id
* @returns booleaan
*/
function dellCustomerProduct($id)
{
if (!is_numeric($id)) return false;
if (!empty($_SESSION['cart'][$id])) {
if ($_SESSION['cart'][$id]['aantal'] >= 2) {
$_SESSION['cart'][$id]['aantal'] = $_SESSION['cart'][$id]['aantal']-1;
} else {
unset($_SESSION['cart'][$id]);
}
return true;
}
return false;
}
/**
* Delete the complete cart session
*
* @access: public
* @returns boolean
*/
function dellCart()
{
if (!empty($_SESSION['cart'])) {
unset($_SESSION['cart']);
return true;
}
return false;
}
?>
/**
* Add a product in the session.
*
* @access: public
* @param int $id
* @param int $aantal
* @returns booleaan
*/
function addCustomerProduct($id, $aantal)
{
if (is_numeric($id) && is_numeric($aantal)) {
if (!empty($_SESSION['cart'][$id])) {
$_SESSION['cart'][$id]['aantal'] += $aantal;
} else {
$_SESSION['cart'][$id]['aantal'] = $aantal;
}
return true;
}
return false;
}
/**
* Dell a product by specified id
*
* @access public
* @param int $id
* @returns booleaan
*/
function dellCustomerProduct($id)
{
if (!is_numeric($id)) return false;
if (!empty($_SESSION['cart'][$id])) {
if ($_SESSION['cart'][$id]['aantal'] >= 2) {
$_SESSION['cart'][$id]['aantal'] = $_SESSION['cart'][$id]['aantal']-1;
} else {
unset($_SESSION['cart'][$id]);
}
return true;
}
return false;
}
/**
* Delete the complete cart session
*
* @access: public
* @returns boolean
*/
function dellCart()
{
if (!empty($_SESSION['cart'])) {
unset($_SESSION['cart']);
return true;
}
return false;
}
?>
(met dank aan www.phpfreakz.nl )
Gewijzigd op 01/01/1970 01:00:00 door Frank -
?
ff nog een voorbeeld:
als medewerker 1 een product in de winkel wagen zet en medewerker 2 wil het af maken op een andere pc kan dat gewoon en in de winkel wagen zie je dan ook wat medewerker 1 heeft toegevoegt en als je op bestel klikt krijg je altijd nog een bevestiging of het klopt en dan kan je hem pas verstuuren !!;)