Bestelling afhandelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

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 »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

Senior Fullstack Developer (GOLang, TypeScript)

Bedrijfsomschrijving Our client is one of the large worldwide accounting firms. Functieomschrijving We are looking for a senior (all-round) developer (Project On Demand / Tax Technology) Uses as much as possible technology in support of the development process: Git, Jenkins, Docker, npm, skaffold, helm, etc. We are looking for a real hands-on developer; ie not a team lead or other managerial-style role; Acts with integrity both internally and externally and takes personal responsibility in this respect; Curious about the developments within their field and driven to make a difference with the team; Able to empathize with colleagues and stakeholders and

Bekijk vacature »

Junior Java Developer

Dit ga je doen Je ontwikkelt innovatieve, maatschappelijk belangrijke applicaties; Je implementeert nieuwe features; Je gaat in gesprek met eindgebruikers en designers om de applicaties continu te finetunen; Je draait mee in een professionele Agile/Scrum omgeving. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de omgeving van Amsterdam. Ze staan zeer goed bekend in de markt door hun innovatieve dienstverlening op IT gebied en hun gepassioneerde werknemers. Voor hun inspanningen op het gebied van IT hebben ze meerdere prijzen gewonnen! Onze klant is onderdeel van een Corporate werkgever en heeft zelf 300 mensen in dienst. Om

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

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 »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

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 »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

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

28/03/2024 13:02:17
 
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.