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
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...

Ook de betalingswijze hoeft niet modern te zijn.

Ga je dan kralen ruilen?
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.
@Aad: Over welk voorbeeld heb je het?
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
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:.

Dit is mijn script wat ik nu heb:

<?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
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
Je kan een tabel "categories" aanmaken en die koppelen aan je producten. Dan kan je bijvoorbeeld deze query gebruiken:

<?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:

<?php
$get = mysql_query('SELECT id, name, description, price, categorie FROM products WHERE id='.mysql_real_escape_string($_GET['product']));
?>
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:

<?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?
Variabelen buiten quotes. :)
Volgens zit er ergens anders wat fout.
echo eens de variabele $get..

<?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!";
?>

Reageren