Webshop maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Alex van Dijk

Alex van Dijk

14/03/2012 17:54:45
Quote Anchor link
Beste dames en heren,

Voor mijn bedrijfje zou ik graag een webshop willen opzetten. De webshop hoeft niet groot te zijn want er komen maar rond de tien producten in. Ook de betalingswijze hoeft niet modern te zijn.
Ik heb niet heel veel ervaring met PHP, ik heb weleens een mailform gemaakt maar dat is ook alles. Wel kan ik HTML.
Ik heb wat rond gezocht voor informatie en heb wel wat scripts en tutorials gevonden alleen ik weet niet goed wat ik ermee moet.
Kortom, kan iemand mij uitleggen hoe een webwinkel precies werkt. Ik snap dat de html alleen voor de layout is maar hoe werkt bijvoorbeeld PHP samen met de database in mysql. Ik snap dat dit misschien een nogal ruime vraag is, maar ik zoek een duidelijke uitleg zodat ik zelf verder kan leren van de tutorials die in overvloed op internet staan.

mvg Alex
 
PHP hulp

PHP hulp

28/03/2024 22:17:58
 
- Ariën  -
Beheerder

- Ariën -

14/03/2012 18:00:09
Quote Anchor link
Tja, een webshop bouwen zonder ervaring met PHP is echt niet zo gedaan als je het zelf wilt bouwen.
Wat wil je:

- Een maandje uittrekken om PHP eens goed te kennen, om vervolgens een webshop te bouwen.

- Een kant en klaar pakket als Magento gebruiken, en in 10 minuten je webshop online hebben?

- Of uitbesteden...
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/03/2012 18:50:07
Quote Anchor link
Quote:
Ook de betalingswijze hoeft niet modern te zijn.

Ga je dan kralen ruilen?
 
Aad B

Aad B

14/03/2012 19:29:12
Quote Anchor link
Ik heb hier een voorbeeld gevonden en uitgewerkt en dat is goed gelukt. Ik heb één webshopje gebouwd voor een kleine ondernemer en dat was goed te doen. Was wel wat uitzoekwerk maar het draait al twee jaar goed. Er zit helemaal geen betaalsysteem in, (@Ger: er worden geen kralen geruild maar pdf facturen gestuurd). Ik ben wel een aantal jaren developer (geweest) maar absoluut niet in php. Ik heb ook geen ambitie om meer dan die ene webshop te doen maar nogmaals het lukt leuk met het voorbeeld hier. Vragen kan je hier stellen en dat werkt heel fijn.
 
- SanThe -

- SanThe -

14/03/2012 21:23:06
Quote Anchor link
@Aad: Over welk voorbeeld heb je het?
 
Robert Smid

Robert Smid

20/03/2012 21:45:49
Quote Anchor link
Beste Alex,

Goede vraag hoor maar ik zou me niet te veel met de techniek bezig houden want dat is tegenwoordig voor een groot deel te ondervangen door het gebruik van de webwinkel software zelf. Als je naast Magento, welke toch wat zwaarder is, een zeker zo goed alternatief wilt bekijken dan kan ik Prestashop adviseren.

Wil je hulp bij het maken van de webshop neem gerust even contact met me op.
Groet,
Robert-Jan Smid
http://www.smid-it.nl
 
Alex van Dijk

Alex van Dijk

03/04/2012 18:10:22
Quote Anchor link
Bedankt voor alle reacties. Toch heb ik er voor gekozen om zelf een webwinkel te maken en ik ben al aardig op weg. Ik heb hierbij gebruik gemaakt van de volgende video tutorials van phpacademy:http://youtu.be/Ntov_fY39Bk.

Dit is mijn script wat ik nu heb:

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
67
68
69
70
71
72
73
74
75
<?php

session_start();


$page = 'winkelwagen.php';

mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('cart') or die(mysql_error());

if (isset($_GET['add'])) {
       if(!isset($_SESSION['cart_'.(int)$_GET['add']]))
{
$_SESSION['cart_'.(int)$_GET['add']] = 0;}

    
    $quantity = mysql_query('SELECT id, quantity FROM products WHERE id='.mysql_real_escape_string((int)$_GET['add']));  
    while($quantity_row = mysql_fetch_assoc($quantity)) {
        if ($quantity_row['quantity']!=$_SESSION['cart_'.(int)$_GET['add']]) {
    $_SESSION['cart_'.(int)$_GET['add']]+='1';
     }
}

header('Location: '.$page);
}

if (isset($_GET['remove'])) {
  $_SESSION['cart_'.(int)$_GET['remove']]--;
  header('Location: '.$page);  
}


if (isset($_GET['delete'])) {
    $_SESSION['cart_'.(int)$_GET['delete']]='0';
     header('Location: '.$page);
}

function
products() {
     $get = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 ORDER BY id DESC');
     if (mysql_num_rows($get)==0) {
        echo"there are no products to display!";
}

    else {
    while ($get_row = mysql_fetch_assoc($get)) {
        echo '<p>'.$get_row['name'].'<br />'.$get_row['description'].'<br />&euro;'.number_format($get_row['price'], 2).'<a href="cart.php?add='.$get_row['id'].'">In winkelwagentje</a></p>';
        }
    }
}

  
 function
cart() {
      $sub = "";
      $total="";
    
      
     foreach($_SESSION as $name => $value){
       if ($value>0){
         if(substr($name, 0, 5)=='cart_'){
         $id = substr($name, 5, (strlen($name)-5));
         $get = mysql_query('SELECT id, name, price FROM products WHERE id='.mysql_real_escape_string((int)$id));
          while ($get_row = mysql_fetch_assoc($get)) {
              $sub = $get_row['price']*$value;
              echo $get_row['name'].' '.$value.' stuk(s)    prijs &euro;'.number_format($get_row['price'], 2).' = &euro;'.number_format($sub, 2). ' <a href="cart.php?remove='.$id.'">[-]</a> <a href="cart.php?add='.$id.'">[+]</a> <a href="cart.php?delete='.$id.'">[Delete]</a><br />';
          }  
     }

       $total += $sub;  
     }
 }

   if ($total==0) {
       echo"Uw winkelwagen is leeg." ;
   }

  else {
      echo '<div class="style1" style="margin:34px 39px 20px 39px">';
      echo 'Subtotaal: &euro;'.number_format($total, 2);

      
 }
 }
  
?>


Ik weet niet of dit duidelijk genoeg is, maar ik heb dus dit bovenstaande php bestand waarnaar ik verwijs in me andere pagina's door middel van "function cart()"voor de winkelwagen en "function products ()" voor de producten.
Maar nu loop ik tegen een probleem aan. Bij "function products ()" staan alle producten onder elkaar. Ik wil graag op me webshop verschillende product pagina's en ook pagina's waar meer informatie over één bepaald product te vinden is. Op de pagina van één bepaald product wil ik ook de knop "voeg aan winkelwagen toe".
Zou iemand mij hierbij kunnen helpen? Aangezien er maar weinig producten in me webshop komen vind ik een omslachtige oplossing ook prima, zoals voor elk product een eigen database of iets dergelijks.
Het zou heel fijn zijn als iemand zou willen helpen!

mvg Alex van Dijk
Gewijzigd op 03/04/2012 18:12:16 door Alex van Dijk
 
Jeroen VD

Jeroen VD

03/04/2012 18:14:40
Quote Anchor link
om meteen maar even je wat goed aan te leren: foutafhandeling ontbreekt. klik hier voor een tutorial. ik heb het even globaal bekeken, en je scripting ziet er wel netjes uit. spatiebalk en de enterknop bijten overigens niet. die mag je wel wat vaker aanraken om wat meer overzicht te krijgen
 
Nick Dijkstra

Nick Dijkstra

03/04/2012 20:35:52
Quote Anchor link
Je kan een tabel "categories" aanmaken en die koppelen aan je producten. Dan kan je bijvoorbeeld deze query gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$get
= mysql_query('SELECT id, name, description, price, categorie FROM products WHERE quantity > 0 AND categorie='.mysql_real_escape_string($_GET['categorie']).' ORDER BY id DESC');
?>

En voor een aparte product pagina kan je van de naam van het product een link maken en die een parameter "product" laten meegeven, bijv: ?product=[product_id] en dan kan je deze query gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$get
= mysql_query('SELECT id, name, description, price, categorie FROM products WHERE id='.mysql_real_escape_string($_GET['product']));
?>
Gewijzigd op 03/04/2012 20:36:35 door Nick Dijkstra
 
Alex van Dijk

Alex van Dijk

08/04/2012 14:28:51
Quote Anchor link
Hey nick, heel erg bedankt voor je reactie. Zoiets is precies wat ik nodig heb, alleen volgens mij klopt er nog iets niet aan. Ik krijg de foutmelding: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\site\cart.php on line 36
there are no products to display!. Dit komt denk ik omdat onder de query staat het volgende staat:
Quote:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$get
= mysql_query('SELECT id, name, description, price, categorie FROM products WHERE quantity > 0 AND categorie='.mysql_real_escape_string($_GET['categorie']).' ORDER BY id DESC');
     if (mysql_num_rows($get)==0) {
        echo"there are no products to display!";
?>

Klopt het dat dan de $get een combinatie wordt van de quantity en de categorie waardoor "if (mysql_num_rows($get)==0)" raar doet?
Gewijzigd op 08/04/2012 14:29:25 door Alex van Dijk
 
Bart V B

Bart V B

08/04/2012 14:36:05
Quote Anchor link
Variabelen buiten quotes. :)
Volgens zit er ergens anders wat fout.
echo eens de variabele $get..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$get
= mysql_query("SELECT id, name, description, price, categorie FROM products WHERE quantity > 0 AND categorie='".mysql_real_escape_string($_GET['categorie'])."' ORDER BY id DESC");
     if (mysql_num_rows($get)==0) {
        echo"there are no products to display!";
?>
Gewijzigd op 08/04/2012 14:36:29 door Bart V B
 
Bas Cost Budde

Bas Cost Budde

08/04/2012 19:34:40
Quote Anchor link
mysql_query() kan mislukken; dan krijg je geen resource, maar False (zoals de foutmelding ook zegt).

Een oplossing kan zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$get
= mysql_query(jouw_ding);
if ($get && mysql_num_rows($get) > 0) {
  // doe wat je wil bij "goed"
} else {
  // doe wat je wil bij "fout"
}
?>
 
Nick Dijkstra

Nick Dijkstra

08/04/2012 19:38:32
Quote Anchor link
Heb je in je database in de tabel products ook de rij categorie toegevoegd?
 
Bas Cost Budde

Bas Cost Budde

08/04/2012 20:20:24
Quote Anchor link
"rij"? Gebruikelijke termen die ik ken zijn "veld" of "kolom" (of, als je relationele algebra als achtergrond hebt, "attribuut". Never mind :) )
 
Nick Dijkstra

Nick Dijkstra

08/04/2012 20:21:48
Quote Anchor link
Eeh, ja die bedoel ik :P kwam er zo snel niet op xD bedankt
 
Alex van Dijk

Alex van Dijk

21/04/2012 22:36:48
Quote Anchor link
Het heeft eventjes geduurd maar het werkt nu allemaal heel goed. Bedankt voor alle reacties!
 
Max jantje

max jantje

26/04/2012 18:12:57
Quote Anchor link
Hey Alex zou je misschien het hele script nog ins kunnen posten nu die werkt. Ik ben met ongeveer hetzelfde bezig en zit een beetje klem. Zou een uitkomst zijn voor mensen zoals ik die er nog mee aan het oefenen zijn!
 
Alex van Dijk

Alex van Dijk

30/04/2012 00:26:45
Quote Anchor link
hey max, ik ben nog bezig met het aanpassen van het script maar ik zal zo snel mogelijk (ongeveer deze week) het hele script posten. Als je vragen hebt kan je me pm'en
 
BizzyB Fran

BizzyB Fran

15/05/2013 21:30:46
Quote Anchor link
Hallo alex,

een late reactie, maar ik vroeg me af, zou je mij het script van webshop maken ook kunnen toesturen.
Ik ben namelijk bezig met de cursus PHP maar webshop zit er niet en en dat ik wel
leren.
alvast bedankt
 
Bas IJzelendoorn

Bas IJzelendoorn

15/05/2013 23:39:49
Quote Anchor link
Beste BizzyB Fran,

Het topic is verouderd. Meestal worden scripts requests niet gewaardeerd, daarnaast betwijfel ik of de TS zelf hierop zal gaan reageren. Wat je wel kan doen is:

- De TS een PM sturen met dezelfde vraag (grote kans dat hij/zij dit niet gaat doen, overigens als jij ergens veel tijd hebt in gestoken geef je dit niet gratis. Dan nog te bedenken dat je de veiligheid van je eigen webshop vrijgeeft...)
- Een eigen topic starten met een vergelijkbare vraag, maar dan specifiek naar jou situatie.
- Er rekening mee houden dat er na een jaar veel veranderd is: nieuwe hackers, veranderingen in programeer talen etc.
- Eventueel kijken naar een online oplossing als https://www.targetpay.com/ (LET OP: ik KEN dit NIET! dus ik geef hierbij geen garanties of wat dan ook, maar even googlen kan helpen. De webshop van magento is iets wat ik ook vaak voorbij hoor komen.
 
Alex van Dijk

Alex van Dijk

16/05/2013 09:46:50
Quote Anchor link
Beste BizzyB Fran,

Leuk dat je interesse hebt in mijn webshop. Sinds oktober staat mijn webshop online (www.lets-led.nl) en ben er erg blij mee. Ik ben er erg lang mee bezig geweest en zoals Bas IJzelendoorn hierboven al zegt geef ik liever niet mijn hele code af. Zeker voor de veiligheid lijkt me dit niet handig. Wat mij veel heeft geholpen zijn de videotutorials van php academy http://youtu.be/Ntov_fY39Bk. Hiermee kan je goed de basis van je webshop opbouwen. Als je nog specifieke vragen hebt kan je me altijd een PM sturen.
Gewijzigd op 16/05/2013 09:47:54 door Alex van Dijk
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.