Bestelling afhandelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Full-stack Developer

As a Full-stack developer at KUBUS, you will develop the (web)applications and services of BIMcollab. You will work on both the front- and back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual developer you can have an impact and really make a difference. Our development team consists of over 40 developers, testers, scrum masters and product owners, divided over

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Front-end developer Supply Chain Angular, ReactJS,

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Java Developer

Functie Wat ga je doen als Java developer? Jij komt terecht binnen een informeel team waarin je verantwoordelijk bent voor de backend systemen voor grote klanten als Ziggo en KPN. Als Medior Java developer werk je in teamverband en soms individueel. Gedurende de werkweek zal je veelvuldig sparren met je collega’s voor een goede implementatie van de software. Ben jij een echte Java developer? Ben je geïnteresseerd in de nieuwste technieken en de laatste ontwikkelingen? Dan ben je hier aan het juiste adres! Eisen Wat wordt er van jou verwacht? • Minimaal HBO/WO denk- en werkniveau; • Analytisch sterk, open

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Lead C++ Developer

De rol van Lead C++ Developer Als Lead C++ developer bij KUBUS word je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de desktop applicaties van BIMcollab, ons platform voor 3D model-validatie en issue-management bedoeld om de kwaliteit van 3D design-modellen voor gebouwen te verbeteren. Betere 3D modellen leiden tot betere gebouwen, dus zo draag je bij aan verduurzaming van de gebouwde omgeving met slimmer gebruik van materialen, minder verspilling en energie-efficiënte gebouwen. Een goede gebruikerservaring staat bij ons hoog in het vaandel; we gaan in onze ontwikkeling voor innovatie en kwaliteit. In je rol als

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

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

21/11/2024 19:34:15
 
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.