Bestelling afhandelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

C#.NET ontwikkelaar

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

C# .NET Developer

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Bennekom gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

Senior Front-End Developer

Als Senior Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Senior Front-End Developer bij Coolblue? Als Senior Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Senior Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Nadenken

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior Java Developer

Dit ga je doen Full stack web- en appdevelopment; Vertalen van de functionele wensen naar de technische specificaties; Sturing geven aan/klank board zijn voor de software teams; Trainen van de software teams; Sparren met klanten; Meedenken over architectuur. Hier ga je werken De organisatie is een bureau welke websites en mobiele applicaties bouwt voor verschillende toonaangevende organisaties. Hierbij richten zij zich voornamelijk op de sectoren leisure, overheid en zorg. De sfeer intern kenmerkt zich door informaliteit, gezelligheid en ambitie. Ze werken dag in dag uit samen om mooie producten op te leveren voor hun klanten. Op dit moment zijn er

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »
Matthijs PHPHULP

Matthijs PHPHULP

29/11/2010 20:55:33
Quote Anchor link
Mijn eerste post op dit forum, dus daarom zal ik mij eerst even kort voorstellen:
Naam: Matthijs
Leeftijd: 16
School: VWO 5e klas
Programmeertalen: HTML, CSS, (PHP beetje) en aan het leren.

Tot zover over mij :p

Nu mijn vraag, ik ben bezig met een webwinkel, alleen moet ik nu zelf wat codes gaan schrijven om alles netjes af te handelen, etc. Maar ik ben nog niet zo lang bezig met PHP, ik ben zeg maar net uit de fase "scripts bewerken" gekomen en ben net beland in de zelf script bouw fase.

Maar natuurlijk zijn daar in het begin wat problemen mee, dus vandaar deze vraag.

Ik ben bezig met het bestellingsysteem, en ik heb dus eerst een scriptje geschreven om de database te updaten als er een bestelling is gedaan. Daarvoor gebruik ik het volgende script: (zoals ik al zei, eerste volledig zelf geschreven script, dus waarschijnlijk veel onhandige dingen, graag tips om te verbeteren :))

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
<?php
session_start();

include "header.php";

if( $_SESSION['winkelwagen'] ) {
    echo "<table border=2 cellpadding=0 cellspacing=0>";
    echo "<tr><td><b>Aantal</b></td><td><b>Naam</b></td><td><b>Prijs in &euro;</b></td></tr>"; // bovenste regel
    $totaal = 0;

//Haalt klant ID op.
    $info = $login->get_login_info('alles');
    $klantid = $info['id'];
//Maakt een nieuwe Bestelling ID aan, en doet daarin de Klant ID
    $sql = "INSERT INTO Bestelling (KLANT_ID) VALUES ($klantid)";
        if (!mysql_query($sql)) { // voer SQL code uit
        echo "Toevoegen bestelling mislukt!";
//haalt de zojuist ingevoerde bestelling id op om vervolgens te gebruiken voor de tabel order (zie omschrijving onder) Ik denk zelf dat het hier fout gaat.
        $bestellingid = mysql_insert_id();
    
// Dus voor ieder product in het winkelmandje moet er een regel worden aangemaakt in Order
    foreach ( $_SESSION['winkelwagen'] as $key=>$val ) {
    
    $sql = "SELECT * FROM Artikel WHERE ARTIKEL_ID=$key";
    $resultaat = mysql_query($sql);
    
    while ($rij = mysql_fetch_array($resultaat)) {
        echo "<tr>";
        echo "<td>$val</td>";
        echo "<td>".$rij["Naam"]."</td>";
        echo "<td>".number_format($rij["Prijs"], 2, ',', ' ')."</td>";
        echo "</tr>";
        $totaal = $totaal + ($rij["Prijs"] * $val);
        $prijs = $rij["Prijs"];
        $datum = date("d-m-Y", time());
        
// hier worden de artikelen in de Tabel Orders gezet.
    $sql = "INSERT INTO Orders (BESTELLING_ID, ARTIKEL_ID, Aantal, Prijs, Datum) VALUES ($bestellingid, $key, $val, $prijs, NOW())";
    if (!mysql_query($sql)) { // voer SQL code uit
        echo "Toevoegen bestelling deel 2 mislukt!";
        }
}
}
}
}


include "footer.php";

?>


De bedoeling van dit script is dat de artikelen uit het winkelwagentje allemaal in de database komen. In de tabel Bestelling (namen hadden beter gekund :p) komt de Bestelling ID en de Klant ID, dit is dus de "koppel" tabel. In de tabel Klant staan alle gegevens van de klant, maar dat is verder hier niet van belang.

In de tabel Order moeten de producten die in een bepaalde bestelling zitten bij elkaar komen, dus voor ieder product moet een aparte Order ID, maar de Bestelling ID moet bij ieder product van één bestelling hetzelfde blijven.

Bij hoe het script nu is wordt er voor ieder product in de winkelmandje een aparte Bestelling ID aangemaakt. Dus er klopt iets niet.

Als jullie ook andere fouten zien in het script, graag ook melden want daar leer ik natuurlijk ook van.

Als jullie nog andere scripts of extra informatie nodig hebben, vraag het dan.

Alvast bedankt,
Matthijs
Gewijzigd op 29/11/2010 20:56:03 door Matthijs PHPHULP
 
PHP hulp

PHP hulp

22/12/2024 08:17:34
 
Kris Peeters

Kris Peeters

30/11/2010 11:27:34
Quote Anchor link
Werkt dit script?
Op het eerste zicht, lijkt de accolade op lijn 16 wat vreemd.
Die block code, wordt die enkel uitgevoerd als de insert mislukt is?


Verder vind ik het er proper uit zien. Goed bezig, lijkt me.

Let nog een beetje op indentering (het aantal spaties aan het begin van de lijn).
Zorg dat de sluitende accolade op de plaats komt die overeen komt met de lijn waar de accolade geopend is. Binnen de accolades laat je de code twee spaties meer naar rechts starten
bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
   while ($i < 10) {
     $sqr = $i * $i;
     if ($i > 25) {
       ...
     }
   }

?>


Meer lees je hier:
http://drupal.org/coding-standards

Er zijn andere coding standards, maar hier hou ik me toch liefst aan.
 
John D

John D

30/11/2010 13:02:42
Quote Anchor link
check eerst je datamodel. Tips:
tabel orders key=id, foreignkey=klant_id
tabel orderregels key=id en foreignkey=order_id
tabel klanten key=id
tabel producten key=id
tabel product_prijs key=id en foreignkey=product_id, belangrijk attribuut: datum_tot
Gewijzigd op 30/11/2010 13:06:04 door John D
 
Matthijs PHPHULP

Matthijs PHPHULP

30/11/2010 17:44:46
Quote Anchor link
Hehe eindelijk gelukt! Bedankt Kris, ik was er echt al een tijd mee bezig, allerlei andere omslachtige manieren proberen en dan lukt het op deze manier gewoon, een simpele accolade. Nou ja zo is dat altijd bij programmeren :)

En @John, maar wat is er dan mis met de database? (behalve de namen Orders en Bestelling?)

En verder is dit script makkelijk te omzeilen of te "hacken" of op welke andere manier dan ook dit te verstoren? Injection ofzo? En zo ja wat kan ik daar tegen doen?

Heel erg bedankt voor de rest, nu ga ik werken aan het script om dit mooi weer te geven, dus waarschijnlijk heb ik daar vanavond ook nog wel wat vragen over :p



Matthijs
Gewijzigd op 30/11/2010 17:45:41 door Matthijs PHPHULP
 
Kris Peeters

Kris Peeters

30/11/2010 17:51:19
Quote Anchor link
Matthijs Thoolen op 30/11/2010 17:44:46:
... En verder is dit script makkelijk te omzeilen of te "hacken" of op welke andere manier dan ook dit te verstoren? Injection ofzo? ...


Lijkt me niet. Ik zie toch niet direct iets gevaarlijks.

Over het algemeen is injection een probleem van data die van de gebruiker komt en in een sql string terecht komt.

Hier zie ik niets van $_GET of $_POST variabelen, laat staan dat ze in een sql string zijn verwerkt.
 

30/11/2010 19:01:21
Quote Anchor link
Matthijs Thoolen op 30/11/2010 17:44:46:
(...)
En @John, maar wat is er dan mis met de database? (behalve de namen Orders en Bestelling?)
(...)

Ik heb het even snel doorgekeken, volgens mij kan er redunantie ontstaan. Ik zag ergens dat je alleen een klantid insert, dat kan per definitie niet goed zijn, want wat zegt dat? Niks. Die zou bij bestellingen in kunnen.
Zie ook normaliseren.

Kris Peeters op 30/11/2010 17:51:19:
Matthijs Thoolen op 30/11/2010 17:44:46:
... En verder is dit script makkelijk te omzeilen of te "hacken" of op welke andere manier dan ook dit te verstoren? Injection ofzo? ...


Lijkt me niet. Ik zie toch niet direct iets gevaarlijks.

Over het algemeen is injection een probleem van data die van de gebruiker komt en in een sql string terecht komt.

Hier zie ik niets van $_GET of $_POST variabelen, laat staan dat ze in een sql string zijn verwerkt.

Je kunt je afvragen of die $_SESSION data veilig is.
Dat kunnen wij nu niet controleren.
 
Matthijs PHPHULP

Matthijs PHPHULP

30/11/2010 19:22:02
Quote Anchor link
Ik insert de Klant_ID, en die klantID is gekoppeld aan de Klant tabel, met daarin alle gegevens. Maar wat ik begrijp uit de wikipedia stukjes is dat ik niet steeds in iedere tabel apart alle gegevens moet opslaan. Dat doe ik toch juist niet nu ik alles link? Of begrijp ik hier iets fout?

En over die $_SESSION, hoe kan ik zorgen dat die wel veilig is dan? Of hoe moet ik het controleren, laten controleren?

Bedankt
 

30/11/2010 19:39:31
Quote Anchor link
Zie hierboven wat John heeft gepost. Dat verduidelijkt het misschien ook wat.

In principe is $_SESSION niet gevaarlijk (zoals $_GET / $_POST / $_COOKIE), maar je moet je afvragen waar die data vandaan komt die in de session zit. Als die bij de gebruiker vandaan komt, dan is die gevaarlijk.
Maar sowieso is dat niet eens erg belangrijk, alle data die je in de database zou je door mysql_real_escape_string moeten halen, niet alleen voor hacks, maar ook gewoon om te zorgen dat er geen verkeerde data in de db komt.
Functies als htmlentities gooi je over je data als je het uit de db trekt.
 
Piet Verhagen

Piet Verhagen

30/11/2010 19:49:39
Quote Anchor link
Wat betreft je HTML ...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
border=2 cellpadding=0 cellspacing=0
Dat hoor je heden anno 2010 toch wel zo ongeveer met CSS te regelen ...
Gewijzigd op 30/11/2010 19:50:07 door Piet Verhagen
 
Matthijs PHPHULP

Matthijs PHPHULP

30/11/2010 19:53:16
Quote Anchor link
Piet Verhagen op 30/11/2010 19:49:39:
Wat betreft je HTML ...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
border=2 cellpadding=0 cellspacing=0
Dat hoor je heden anno 2010 toch wel zo ongeveer met CSS te regelen ...


Mee eens, maar ben eerst bezig met code, en wou even snel een makkelijke opmaak. Als ik het script ga afronden ga ik het met CSS doen, hele site draait met CSS :)

Maar toch bedankt, voor het zelfde geld deed ik de hele site zo :)
 
Aad B

Aad B

30/11/2010 20:22:17
Quote Anchor link
In de tabel Order moeten de producten die in een bepaalde bestelling zitten bij elkaar komen, dus voor ieder product moet een aparte Order ID, maar de Bestelling ID moet bij ieder product van één bestelling hetzelfde blijven.
Is fout, check de tips van John, je kan beter werken met een tabel orders en een tabel orderregels. Dit is zo ongeveer les 1 in datamodellering. Uiteraard mag het ook heten: tabel bestellingen en tabel bestelregels. Overigens heb ik altijd geleerd om tabelnamen niet in meervoud te maken: tabel order, orderregel, bestelling, bestelregel. Vaak onstaat er dan discussie van tegenstanders die dan gaan beweren dat er meer orders in de tabel order kunnen en daarom de tabel orders moet heten maar dat is nou precies de foute opvatting.
 
Matthijs PHPHULP

Matthijs PHPHULP

30/11/2010 21:06:40
Quote Anchor link
Oké bedankt dan zou ik daar nog is naar gaan kijken.
 



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.